from __clrclasses__.Autodesk.AutoCAD.Runtime import DisposableWrapper as _n_0_t_0
from __clrclasses__.System import IDisposable as _n_1_t_0
from __clrclasses__.System import ICloneable as _n_1_t_1
from __clrclasses__.System import Array as _n_1_t_2
from __clrclasses__.System import ValueType as _n_1_t_3
from __clrclasses__.System import Enum as _n_1_t_4
from __clrclasses__.System import IComparable as _n_1_t_5
from __clrclasses__.System import IFormattable as _n_1_t_6
from __clrclasses__.System import IConvertible as _n_1_t_7
from __clrclasses__.System import IntPtr as _n_1_t_8
from __clrclasses__.System import UInt32 as _n_1_t_9
from __clrclasses__.System.Collections import IList as _n_2_t_0
from __clrclasses__.System.Collections import IEnumerator as _n_2_t_1
import typing
class AugmentedPolylineCurve3d(PolylineCurve3d, _n_1_t_0, _n_1_t_1):
    @property
    def ApproximateTolerance(self) -> float:"""ApproximateTolerance { get; set; } -> float"""
    @property
    def D1Vectors(self) -> Vector3dCollection:"""D1Vectors { get; } -> Vector3dCollection"""
    @property
    def D2Vectors(self) -> Vector3dCollection:"""D2Vectors { get; } -> Vector3dCollection"""
    @property
    def Points(self) -> Point3dCollection:"""Points { get; } -> Point3dCollection"""
    def __init__(self) -> AugmentedPolylineCurve3d:...
    def __init__(self, knots: KnotCollection, controlPoints: Point3dCollection, vectorBundle: Vector3dCollection) -> AugmentedPolylineCurve3d:...
    def __init__(self, controlPoints: Point3dCollection, vectorBundle: Vector3dCollection) -> AugmentedPolylineCurve3d:...
    def __init__(self, curve: Curve3d, fromParameter: float, toParameter: float, eps: float) -> AugmentedPolylineCurve3d:...
    def GetD2VectorAt(self, index: int) -> Vector3d:...
    def GetPointAt(self, index: int) -> Point3d:...
    def GetVectorAt(self, index: int) -> Vector3d:...
    def SetD2VectorAt(self, index: int, point: Vector3d):...
    def SetPointAt(self, index: int, point: Point3d):...
    def SetVectorAt(self, index: int, point: Vector3d):...
class BoundBlock2d(Entity2d, _n_1_t_0, _n_1_t_1):
    @property
    def BasePoint(self) -> Point2d:"""BasePoint { get; } -> Point2d"""
    @property
    def Direction1(self) -> Vector2d:"""Direction1 { get; } -> Vector2d"""
    @property
    def Direction2(self) -> Vector2d:"""Direction2 { get; } -> Vector2d"""
    @property
    def IsBox(self) -> bool:"""IsBox { get; set; } -> bool"""
    def __init__(self) -> BoundBlock2d:...
    def __init__(self, point1: Point2d, point2: Point2d) -> BoundBlock2d:...
    def __init__(self, basePoint: Point2d, direction1: Vector2d, direction2: Vector2d) -> BoundBlock2d:...
    def Contains(self, point: Point2d) -> bool:...
    def Extend(self, point: Point2d):...
    def GetMaximumPoint(self) -> Point2d:...
    def GetMinimumPoint(self) -> Point2d:...
    def IsDisjoint(self, block: BoundBlock2d) -> bool:...
    def Set(self, firstPoint: Point2d, secondPoint: Point2d):...
    def Set(self, basePoint: Point2d, direction1: Vector2d, direction2: Vector2d):...
    def Swell(self, distance: float):...
class BoundBlock3d(Entity3d, _n_1_t_0, _n_1_t_1):
    @property
    def BasePoint(self) -> Point3d:"""BasePoint { get; } -> Point3d"""
    @property
    def Direction1(self) -> Vector3d:"""Direction1 { get; } -> Vector3d"""
    @property
    def Direction2(self) -> Vector3d:"""Direction2 { get; } -> Vector3d"""
    @property
    def Direction3(self) -> Vector3d:"""Direction3 { get; } -> Vector3d"""
    @property
    def IsBox(self) -> bool:"""IsBox { get; set; } -> bool"""
    def __init__(self) -> BoundBlock3d:...
    def __init__(self, point1: Point3d, dir1: Vector3d, dir2: Vector3d, dir3: Vector3d) -> BoundBlock3d:...
    def Contains(self, pointToTest: Point3d) -> bool:...
    def Extend(self, pointToInclude: Point3d):...
    def GetMaximumPoint(self) -> Point3d:...
    def GetMinimumPoint(self) -> Point3d:...
    def IsDisjoint(self, block: BoundBlock3d) -> bool:...
    def Set(self, basePoint: Point3d, maximumPoint: Point3d):...
    def Set(self, basePoint: Point3d, dir1: Vector3d, dir2: Vector3d, dir3: Vector3d):...
    def Swell(self, distance: float):...
class BoundedPlane(PlanarEntity, _n_1_t_0, _n_1_t_1):
    def __init__(self) -> BoundedPlane:...
    def __init__(self, origin: Point3d, u: Vector3d, v: Vector3d) -> BoundedPlane:...
    def __init__(self, p1: Point3d, origin: Point3d, p2: Point3d) -> BoundedPlane:...
    def Set(self, origin: Point3d, u: Vector3d, v: Vector3d):...
    def Set(self, p1: Point3d, origin: Point3d, p2: Point3d):...
class CircularArc2d(Curve2d, _n_1_t_0, _n_1_t_1):
    @property
    def Center(self) -> Point2d:"""Center { get; set; } -> Point2d"""
    @property
    def EndAngle(self) -> float:"""EndAngle { get; } -> float"""
    @property
    def IsClockWise(self) -> bool:"""IsClockWise { get; } -> bool"""
    @property
    def Radius(self) -> float:"""Radius { get; set; } -> float"""
    @property
    def ReferenceVector(self) -> Vector2d:"""ReferenceVector { get; set; } -> Vector2d"""
    @property
    def StartAngle(self) -> float:"""StartAngle { get; } -> float"""
    def __init__(self) -> CircularArc2d:...
    def __init__(self, center: Point2d, radius: float) -> CircularArc2d:...
    def __init__(self, center: Point2d, radius: float, startAngle: float, endAngle: float, referenceVector: Vector2d, isClockWise: bool) -> CircularArc2d:...
    def __init__(self, startPoint: Point2d, point: Point2d, endPoint: Point2d) -> CircularArc2d:...
    def __init__(self, startPoint: Point2d, endPoint: Point2d, bulge: float, bulgeFlag: bool) -> CircularArc2d:...
    def GetTangent(self, point: Point2d, tolerance: Tolerance) -> Line2d:...
    def GetTangent(self, point: Point2d) -> Line2d:...
    def IntersectWith(self, line: LinearEntity2d, tolerance: Tolerance) -> _n_1_t_2[Point2d]:...
    def IntersectWith(self, line: LinearEntity2d) -> _n_1_t_2[Point2d]:...
    def IntersectWith(self, arc: CircularArc2d, tolerance: Tolerance) -> _n_1_t_2[Point2d]:...
    def IntersectWith(self, arc: CircularArc2d) -> _n_1_t_2[Point2d]:...
    def IsInside(self, point: Point2d, tolerance: Tolerance) -> bool:...
    def IsInside(self, point: Point2d) -> bool:...
    def Set(self, center: Point2d, radius: float):...
    def Set(self, center: Point2d, radius: float, angle1: float, angle2: float, referenceVector: Vector2d, isClockWise: bool):...
    def Set(self, startPoint: Point2d, point: Point2d, endPoint: Point2d):...
    def Set(self, startPoint: Point2d, endPoint: Point2d, bulge: float, bulgeFlag: bool):...
    def Set(self, curve1: Curve2d, curve2: Curve2d, radius: float, parameter1: float, parameter2: float):...
    def Set(self, curve1: Curve2d, curve2: Curve2d, curve3: Curve2d, parameter1: float, parameter2: float, parameter3: float):...
    def SetAngles(self, startAngle: float, endAngle: float):...
    def SetToComplement(self):...
class CircularArc3d(Curve3d, _n_1_t_0, _n_1_t_1):
    @property
    def Center(self) -> Point3d:"""Center { get; set; } -> Point3d"""
    @property
    def EndAngle(self) -> float:"""EndAngle { get; } -> float"""
    @property
    def Normal(self) -> Vector3d:"""Normal { get; } -> Vector3d"""
    @property
    def Radius(self) -> float:"""Radius { get; set; } -> float"""
    @property
    def ReferenceVector(self) -> Vector3d:"""ReferenceVector { get; } -> Vector3d"""
    @property
    def StartAngle(self) -> float:"""StartAngle { get; } -> float"""
    def __init__(self) -> CircularArc3d:...
    def __init__(self, center: Point3d, normal: Vector3d, radius: float) -> CircularArc3d:...
    def __init__(self, center: Point3d, normal: Vector3d, referenceVector: Vector3d, radius: float, startAngle: float, endAngle: float) -> CircularArc3d:...
    def __init__(self, startPoint: Point3d, pointOnArc: Point3d, endPoint: Point3d) -> CircularArc3d:...
    def ClosestPointToPlane(self, plane: PlanarEntity, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def ClosestPointToPlane(self, plane: PlanarEntity) -> _n_1_t_2[Point3d]:...
    def GetPlane(self) -> Plane:...
    def GetTangent(self, pointValue: Point3d, tolerance: Tolerance) -> Line3d:...
    def GetTangent(self, pointValue: Point3d) -> Line3d:...
    def IntersectWith(self, line: LinearEntity3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, line: LinearEntity3d) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, arc: CircularArc3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, arc: CircularArc3d) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, plane: PlanarEntity, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, plane: PlanarEntity) -> _n_1_t_2[Point3d]:...
    def IsInside(self, pointValue: Point3d, tolerance: Tolerance) -> bool:...
    def IsInside(self, pointValue: Point3d) -> bool:...
    def ProjectedIntersectWith(self, line: LinearEntity3d, projectionDirection: Vector3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def ProjectedIntersectWith(self, line: LinearEntity3d, projectionDirection: Vector3d) -> _n_1_t_2[Point3d]:...
    def Set(self, center: Point3d, normal: Vector3d, radius: float):...
    def Set(self, center: Point3d, normal: Vector3d, referenceVector: Vector3d, radius: float, startAngle: float, endAngle: float):...
    def Set(self, startPoint: Point3d, pointOnArc: Point3d, endPoint: Point3d):...
    def Set(self, curve1: Curve3d, curve2: Curve3d, radius: float, param1: float, param2: float):...
    def Set(self, curve1: Curve3d, curve2: Curve3d, curve3: Curve3d, param1: float, param2: float, param3: float):...
    def SetAngles(self, startAngle: float, endAngle: float):...
    def SetAxes(self, normal: Vector3d, referenceVector: Vector3d):...
class ClipBoundary2d(Entity2d, _n_1_t_0, _n_1_t_1):
    def __init__(self) -> ClipBoundary2d:...
    def __init__(self, firstCorner: Point2d, secondCorner: Point2d) -> ClipBoundary2d:...
    def __init__(self, clipBoundary: Point2dCollection) -> ClipBoundary2d:...
    def ClipPolygon(self, rawVertices: Point2dCollection) -> ClipBoundary2dData:...
    def ClipPolyline(self, rawVertices: Point2dCollection) -> ClipBoundary2dData:...
    def Set(self, firstCorner: Point2d, secondCorner: Point2d) -> ClipError:...
    def Set(self, clipBoundary: Point2dCollection) -> ClipError:...
class ClipBoundary2dData(_n_1_t_3):
    @property
    def ClipCondition(self) -> ClipCondition:"""ClipCondition { get; } -> ClipCondition"""
    @property
    def ClippedSegmentSourceLabel(self) -> IntegerCollection:"""ClippedSegmentSourceLabel { get; } -> IntegerCollection"""
    @property
    def ClippedVertices(self) -> Point2dCollection:"""ClippedVertices { get; } -> Point2dCollection"""
    def IsEqualTo(self, a: ClipBoundary2dData) -> bool:...
class ClipCondition(_n_1_t_4, _n_1_t_5, _n_1_t_6, _n_1_t_7):
    AllSegmentsInside: int
    AllSegmentsOutsideEvenWinds: int
    AllSegmentsOutsideOddWinds: int
    AllSegmentsOutsideZeroWinds: int
    Invalid: int
    SegmentsIntersect: int
    value__: int
class ClipError(_n_1_t_4, _n_1_t_5, _n_1_t_6, _n_1_t_7):
    InvalidClipBoundary: int
    NotInitialized: int
    OK: int
    value__: int
class CompositeCurve2d(Curve2d, _n_1_t_0, _n_1_t_1):
    def __init__(self, curves: _n_1_t_2[Curve2d]) -> CompositeCurve2d:...
    def GetCurves(self) -> _n_1_t_2[Curve2d]:...
    def GlobalToLocalParameter(self, value: float) -> CompositeParameter:...
    def LocalToGlobalParameter(self, value: CompositeParameter) -> float:...
    def SetCurves(self, curves: _n_1_t_2[Curve2d]):...
class CompositeCurve3d(Curve3d, _n_1_t_0, _n_1_t_1):
    def __init__(self, curves: _n_1_t_2[Curve3d]) -> CompositeCurve3d:...
    def GetCurves(self) -> _n_1_t_2[Curve3d]:...
    def GlobalToLocalParameter(self, value: float) -> CompositeParameter:...
    def LocalToGlobalParameter(self, value: CompositeParameter) -> float:...
class CompositeParameter(_n_1_t_3):
    @property
    def LocalParameter(self) -> float:"""LocalParameter { get; } -> float"""
    @property
    def SegmentIndex(self) -> int:"""SegmentIndex { get; } -> int"""
    def __init__(self, segmentIndex: int, localParameter: float) -> CompositeParameter:...
    def IsEqualTo(self, a: CompositeParameter, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, a: CompositeParameter) -> bool:...
class Cone(Surface, _n_1_t_0, _n_1_t_1):
    @property
    def Apex(self) -> Point3d:"""Apex { get; } -> Point3d"""
    @property
    def AxisOfSymmetry(self) -> Vector3d:"""AxisOfSymmetry { get; } -> Vector3d"""
    @property
    def BaseCenter(self) -> Point3d:"""BaseCenter { get; } -> Point3d"""
    @property
    def BaseRadius(self) -> float:"""BaseRadius { get; set; } -> float"""
    @property
    def HalfAngle(self) -> float:"""HalfAngle { get; } -> float"""
    @property
    def Height(self) -> Interval:"""Height { get; set; } -> Interval"""
    @property
    def IsOuterNormal(self) -> bool:"""IsOuterNormal { get; } -> bool"""
    @property
    def ReferenceAxis(self) -> Vector3d:"""ReferenceAxis { get; } -> Vector3d"""
    def __init__(self) -> Cone:...
    def __init__(self, cosineAngle: float, sineAngle: float, baseOrigin: Point3d, baseRadius: float, axisOfSymmetry: Vector3d) -> Cone:...
    def __init__(self, cosineAngle: float, sineAngle: float, baseOrigin: Point3d, baseRadius: float, axisOfSymmetry: Vector3d, referenceAxis: Vector3d, height: Interval, startAngle: float, endAngle: float) -> Cone:...
    def GetAngles(self) -> _n_1_t_2[float]:...
    def GetHalfAngles(self) -> _n_1_t_2[float]:...
    def GetHeightAt(self, parameter: float) -> float:...
    def IntersectWith(self, linearEntity: LinearEntity3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, linearEntity: LinearEntity3d) -> _n_1_t_2[Point3d]:...
    def IsClosed(self, tolerance: Tolerance) -> bool:...
    def IsClosed(self) -> bool:...
    def Set(self, cosineAngle: float, sineAngle: float, baseCenter: Point3d, baseRadius: float, axisOfSymmetry: Vector3d):...
    def Set(self, cosineAngle: float, sineAngle: float, baseCenter: Point3d, baseRadius: float, axisOfSymmetry: Vector3d, refAxis: Vector3d, height: Interval, startAngle: float, endAngle: float):...
    def SetAngles(self, startAngle: float, endAngle: float):...
class CoordinateSystem2d(_n_1_t_3, _n_1_t_6):
    @property
    def Origin(self) -> Point2d:"""Origin { get; } -> Point2d"""
    @property
    def Xaxis(self) -> Vector2d:"""Xaxis { get; } -> Vector2d"""
    @property
    def Yaxis(self) -> Vector2d:"""Yaxis { get; } -> Vector2d"""
    def __init__(self, o: Point2d, x: Vector2d, y: Vector2d) -> CoordinateSystem2d:...
    def IsEqualTo(self, a: CoordinateSystem2d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, a: CoordinateSystem2d) -> bool:...
class CoordinateSystem3d(_n_1_t_3, _n_1_t_6):
    @property
    def Origin(self) -> Point3d:"""Origin { get; } -> Point3d"""
    @property
    def Xaxis(self) -> Vector3d:"""Xaxis { get; } -> Vector3d"""
    @property
    def Yaxis(self) -> Vector3d:"""Yaxis { get; } -> Vector3d"""
    @property
    def Zaxis(self) -> Vector3d:"""Zaxis { get; } -> Vector3d"""
    def __init__(self, o: Point3d, x: Vector3d, y: Vector3d) -> CoordinateSystem3d:...
    def IsEqualTo(self, a: CoordinateSystem3d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, a: CoordinateSystem3d) -> bool:...
class CubicSplineCurve2d(SplineEntity2d, _n_1_t_0, _n_1_t_1):
    @property
    def NumFitPoints(self) -> int:"""NumFitPoints { get; } -> int"""
    def __init__(self) -> CubicSplineCurve2d:...
    def __init__(self, fitPoints: Point2dCollection, tolerance: Tolerance) -> CubicSplineCurve2d:...
    def __init__(self, fitPoints: Point2dCollection) -> CubicSplineCurve2d:...
    def __init__(self, fitPoints: Point2dCollection, startDerivative: Vector2d, endDerivative: Vector2d, tolerance: Tolerance) -> CubicSplineCurve2d:...
    def __init__(self, fitPoints: Point2dCollection, startDerivative: Vector2d, endDerivative: Vector2d) -> CubicSplineCurve2d:...
    def __init__(self, curve: Curve2d, epsilon: float) -> CubicSplineCurve2d:...
    def __init__(self, knots: KnotCollection, fitPoints: Point2dCollection, firstDerivatives: Vector2dCollection, periodic: bool) -> CubicSplineCurve2d:...
    def GetFirstDerivativeAt(self, index: int) -> Vector2d:...
    def GetFitPointAt(self, index: int) -> Point2d:...
    def SetFirstDerivativeAt(self, index: int, derivative: Vector2d):...
    def SetFitPointAt(self, index: int, point: Point2d):...
class CubicSplineCurve3d(SplineEntity3d, _n_1_t_0, _n_1_t_1):
    @property
    def NumberOfFitPoints(self) -> int:"""NumberOfFitPoints { get; } -> int"""
    def __init__(self) -> CubicSplineCurve3d:...
    def __init__(self, points: Point3dCollection, tolerance: Tolerance) -> CubicSplineCurve3d:...
    def __init__(self, points: Point3dCollection) -> CubicSplineCurve3d:...
    def __init__(self, points: Point3dCollection, startDerivative: Vector3d, endDerivative: Vector3d, tolerance: Tolerance) -> CubicSplineCurve3d:...
    def __init__(self, points: Point3dCollection, startDerivative: Vector3d, endDerivative: Vector3d) -> CubicSplineCurve3d:...
    def __init__(self, knots: KnotCollection, fitPoints: Point3dCollection, firstDerivatives: Vector3dCollection, periodic: bool) -> CubicSplineCurve3d:...
    def __init__(self, curve: Curve3d, epsilon: float) -> CubicSplineCurve3d:...
    def FirstDerivativeAt(self, i: int) -> Vector3d:...
    def FitPointAt(self, i: int) -> Point3d:...
    def SetFirstDerivativeAt(self, i: int, derivative: Vector3d):...
    def SetFitPointAt(self, i: int, point: Point3d):...
class Curve2d(Entity2d, _n_1_t_0, _n_1_t_1):
    @property
    def BoundBlock(self) -> BoundBlock2d:"""BoundBlock { get; } -> BoundBlock2d"""
    @property
    def EndPoint(self) -> Point2d:"""EndPoint { get; } -> Point2d"""
    @property
    def HasEndPoint(self) -> bool:"""HasEndPoint { get; } -> bool"""
    @property
    def HasStartPoint(self) -> bool:"""HasStartPoint { get; } -> bool"""
    @property
    def OrthoBoundBlock(self) -> BoundBlock2d:"""OrthoBoundBlock { get; } -> BoundBlock2d"""
    @property
    def StartPoint(self) -> Point2d:"""StartPoint { get; } -> Point2d"""
    def EvaluatePoint(self, parameter: float) -> Point2d:...
    def Explode(self, interval: Interval) -> _n_1_t_2[Curve2d]:...
    def GetArea(self, startParameter: float, endParameter: float, tolerance: Tolerance) -> float:...
    def GetArea(self, startParameter: float, endParameter: float) -> float:...
    def GetBoundBlockOf(self, range: Interval) -> BoundBlock2d:...
    def GetClosestPointTo(self, point: Point2d, tolerance: Tolerance) -> PointOnCurve2d:...
    def GetClosestPointTo(self, point: Point2d) -> PointOnCurve2d:...
    def GetClosestPointTo(self, curve: Curve2d, tolerance: Tolerance) -> _n_1_t_2[PointOnCurve2d]:...
    def GetClosestPointTo(self, curve: Curve2d) -> _n_1_t_2[PointOnCurve2d]:...
    def GetDistanceTo(self, point: Point2d, tolerance: Tolerance) -> float:...
    def GetDistanceTo(self, point: Point2d) -> float:...
    def GetDistanceTo(self, curve: Curve2d, tolerance: Tolerance) -> float:...
    def GetDistanceTo(self, curve: Curve2d) -> float:...
    def GetInterval(self) -> Interval:...
    def GetLength(self, fromParameter: float, toParameter: float, tolerance: Tolerance) -> float:...
    def GetLength(self, fromParameter: float, toParameter: float) -> float:...
    def GetNormalPoint(self, point: Point2d, tolerance: Tolerance) -> PointOnCurve2d:...
    def GetNormalPoint(self, point: Point2d) -> PointOnCurve2d:...
    def GetOrthoBoundBlockOf(self, range: Interval) -> BoundBlock2d:...
    def GetParameterAtLength(self, datumParameter: float, length: float, parameterDirection: bool, tolerance: Tolerance) -> float:...
    def GetParameterAtLength(self, datumParameter: float, length: float, parameterDirection: bool) -> float:...
    def GetParameterOf(self, point: Point2d, tolerance: Tolerance) -> float:...
    def GetParameterOf(self, point: Point2d) -> float:...
    def GetReverseParameterCurve(self) -> Curve2d:...
    def GetSamplePoints(self, fromParameter: float, toParameter: float, approxEps: float) -> _n_1_t_2[PointOnCurve2d]:...
    def GetSamplePoints(self, numSample: int) -> _n_1_t_2[Point2d]:...
    def GetSplitCurves(self, value: float) -> _n_1_t_2[Curve2d]:...
    def GetTrimmedOffset(self, distance: float, extensionType: OffsetCurveExtensionType, tolerance: Tolerance) -> _n_1_t_2[Curve2d]:...
    def GetTrimmedOffset(self, distance: float, extensionType: OffsetCurveExtensionType) -> _n_1_t_2[Curve2d]:...
    def IsClosed(self, tolerance: Tolerance) -> bool:...
    def IsClosed(self) -> bool:...
    def IsDegenerate(self, result: Entity2d, tolerance: Tolerance) -> bool:...
    def IsDegenerate(self, result: Entity2d) -> bool:...
    def IsLinear(self, line: Line2d, tolerance: Tolerance) -> bool:...
    def IsLinear(self, line: Line2d) -> bool:...
    def IsPeriodic(self, period: float) -> bool:...
    def SetInterval(self, value: Interval):...
class Curve2dCollection(_n_0_t_0, _n_1_t_0, _n_2_t_0, typing.Iterable[Curve2d]):
    def __init__(self) -> Curve2dCollection:...
class Curve3d(Entity3d, _n_1_t_0, _n_1_t_1):
    @property
    def BoundBlock(self) -> BoundBlock3d:"""BoundBlock { get; } -> BoundBlock3d"""
    @property
    def EndPoint(self) -> Point3d:"""EndPoint { get; } -> Point3d"""
    @property
    def HasEndPoint(self) -> bool:"""HasEndPoint { get; } -> bool"""
    @property
    def HasStartPoint(self) -> bool:"""HasStartPoint { get; } -> bool"""
    @property
    def OrthoBoundBlock(self) -> BoundBlock3d:"""OrthoBoundBlock { get; } -> BoundBlock3d"""
    @property
    def StartPoint(self) -> Point3d:"""StartPoint { get; } -> Point3d"""
    def EvaluatePoint(self, value: float) -> Point3d:...
    def Explode(self, interval: Interval) -> _n_1_t_2[Curve3d]:...
    def GetArea(self, startingParameter: float, endingParameter: float, tolerance: Tolerance) -> float:...
    def GetArea(self, startingParameter: float, endingParameter: float) -> float:...
    def GetBoundBlockOf(self, range: Interval) -> BoundBlock3d:...
    def GetClosestPointTo(self, point: Point3d, tolerance: Tolerance) -> PointOnCurve3d:...
    def GetClosestPointTo(self, point: Point3d) -> PointOnCurve3d:...
    def GetClosestPointTo(self, curve3d: Curve3d, tolerance: Tolerance) -> _n_1_t_2[PointOnCurve3d]:...
    def GetClosestPointTo(self, curve3d: Curve3d) -> _n_1_t_2[PointOnCurve3d]:...
    def GetDistanceTo(self, point: Point3d, tolerance: Tolerance) -> float:...
    def GetDistanceTo(self, point: Point3d) -> float:...
    def GetDistanceTo(self, curve: Curve3d, tolerance: Tolerance) -> float:...
    def GetDistanceTo(self, curve: Curve3d) -> float:...
    def GetInterval(self) -> Interval:...
    def GetLength(self, fromParameter: float, toParameter: float, tolerance: float) -> float:...
    def GetNewSamplePoints(self, fromParameter: float, toParameter: float, chordHeight: float) -> _n_1_t_2[PointOnCurve3d]:...
    def GetNormalPoint(self, point: Point3d, tolerance: Tolerance) -> PointOnCurve3d:...
    def GetNormalPoint(self, point: Point3d) -> PointOnCurve3d:...
    def GetOrthoBoundBlockOf(self, range: Interval) -> BoundBlock3d:...
    def GetOrthoProjectEntity(self, projectionPlane: Plane, tolerance: Tolerance) -> Entity3d:...
    def GetOrthoProjectEntity(self, projectionPlane: Plane) -> Entity3d:...
    def GetParameterAtLength(self, datumParameter: float, length: float, direction: bool, tolerance: float) -> float:...
    def GetParameterOf(self, point: Point3d, tolerance: Tolerance) -> float:...
    def GetParameterOf(self, point: Point3d) -> float:...
    def GetProjectedClosestPointTo(self, point: Point3d, projectDirection: Vector3d, tolerance: Tolerance) -> PointOnCurve3d:...
    def GetProjectedClosestPointTo(self, point: Point3d, projectDirection: Vector3d) -> PointOnCurve3d:...
    def GetProjectedClosestPointTo(self, curve3d: Curve3d, projectDirection: Vector3d, tolerance: Tolerance) -> _n_1_t_2[PointOnCurve3d]:...
    def GetProjectedClosestPointTo(self, curve3d: Curve3d, projectDirection: Vector3d) -> _n_1_t_2[PointOnCurve3d]:...
    def GetProjectedEntity(self, projectionPlane: Plane, projectDirection: Vector3d, tolerance: Tolerance) -> Entity3d:...
    def GetProjectedEntity(self, projectionPlane: Plane, projectDirection: Vector3d) -> Entity3d:...
    def GetReverseParameterCurve(self) -> Curve3d:...
    def GetSamplePoints(self, fromParameter: float, toParameter: float, chordHeight: float) -> _n_1_t_2[PointOnCurve3d]:...
    def GetSamplePoints(self, numSample: int) -> _n_1_t_2[PointOnCurve3d]:...
    def GetSplitCurves(self, value: float) -> _n_1_t_2[Curve3d]:...
    def GetTrimmedOffset(self, distance: float, planeNormal: Vector3d, extensionType: OffsetCurveExtensionType, tolerance: Tolerance) -> _n_1_t_2[Curve3d]:...
    def GetTrimmedOffset(self, distance: float, planeNormal: Vector3d, extensionType: OffsetCurveExtensionType) -> _n_1_t_2[Curve3d]:...
    def IsClosed(self, tolerance: Tolerance) -> bool:...
    def IsClosed(self) -> bool:...
    def IsCoplanarWith(self, curve3d: Curve3d, plane: Plane, tolerance: Tolerance) -> bool:...
    def IsCoplanarWith(self, curve3d: Curve3d, plane: Plane) -> bool:...
    def IsDegenerate(self, result: Entity3d, tolerance: Tolerance) -> bool:...
    def IsDegenerate(self, result: Entity3d) -> bool:...
    def IsLinear(self, line: Line3d, tolerance: Tolerance) -> bool:...
    def IsLinear(self, line: Line3d) -> bool:...
    def IsPeriodic(self, period: float) -> bool:...
    def IsPlanar(self, plane: Plane, tolerance: Tolerance) -> bool:...
    def IsPlanar(self, plane: Plane) -> bool:...
    def SetInterval(self, value: Interval):...
class Curve3dCollection(_n_0_t_0, _n_1_t_0, _n_2_t_0, typing.Iterable[Curve3d]):
    def __init__(self) -> Curve3dCollection:...
class CurveBoundary(_n_0_t_0, _n_1_t_0, _n_1_t_1):
    @property
    def Contour(self) -> CurveBoundaryData:"""Contour { get; set; } -> CurveBoundaryData"""
    @property
    def DegenerateCurve(self) -> Curve2d:"""DegenerateCurve { get; } -> Curve2d"""
    @property
    def DegeneratePosition(self) -> Position3d:"""DegeneratePosition { get; } -> Position3d"""
    @property
    def IsDegenerate(self) -> bool:"""IsDegenerate { get; } -> bool"""
    @property
    def IsOwnerOfCurves(self) -> bool:"""IsOwnerOfCurves { get; } -> bool"""
    @property
    def NumElements(self) -> int:"""NumElements { get; } -> int"""
    def __init__(self) -> CurveBoundary:...
    def __init__(self, numberOfCurves: int, curve3d: _n_1_t_2[Curve3d], curve2d: _n_1_t_2[Curve2d], orientation3d: bool, orientation2d: bool) -> CurveBoundary:...
    def Set(self, numElements: int, curve3ds: _n_1_t_2[Entity3d], curve2ds: _n_1_t_2[Curve2d], orientation3d: bool, orientation2d: bool):...
    def SetToOwnCurves(self):...
class CurveBoundaryData(_n_1_t_3):
    @property
    def Orientation2d(self) -> bool:"""Orientation2d { get; } -> bool"""
    @property
    def Orientation3d(self) -> bool:"""Orientation3d { get; } -> bool"""
    def GetCurve2ds(self) -> _n_1_t_2[Curve2d]:...
    def GetCurve3ds(self) -> _n_1_t_2[Entity3d]:...
    def IsEqualTo(self, a: CurveBoundaryData) -> bool:...
class CurveCurveIntersector2d(Entity2d, _n_1_t_0, _n_1_t_1):
    @property
    def Curve1(self) -> Curve2d:"""Curve1 { get; } -> Curve2d"""
    @property
    def Curve2(self) -> Curve2d:"""Curve2 { get; } -> Curve2d"""
    @property
    def NumberOfIntersectionPoints(self) -> int:"""NumberOfIntersectionPoints { get; } -> int"""
    @property
    def OverlapCount(self) -> int:"""OverlapCount { get; } -> int"""
    @property
    def OverlapDirection(self) -> bool:"""OverlapDirection { get; } -> bool"""
    @property
    def Tolerance(self) -> Tolerance:"""Tolerance { get; } -> Tolerance"""
    def __init__(self) -> CurveCurveIntersector2d:...
    def __init__(self, curve1: Curve2d, curve2: Curve2d, tolerance: Tolerance) -> CurveCurveIntersector2d:...
    def __init__(self, curve1: Curve2d, curve2: Curve2d) -> CurveCurveIntersector2d:...
    def __init__(self, curve1: Curve2d, curve2: Curve2d, range1: Interval, range2: Interval, tolerance: Tolerance) -> CurveCurveIntersector2d:...
    def __init__(self, curve1: Curve2d, curve2: Curve2d, range1: Interval, range2: Interval) -> CurveCurveIntersector2d:...
    def ChangeCurveOrder(self):...
    def GetIntersectionParameters(self, intersection: int) -> _n_1_t_2[float]:...
    def GetIntersectionPoint(self, number: int) -> Point2d:...
    def GetIntersectionPointTolerance(self, intersection: int) -> float:...
    def GetIntersectionRanges(self) -> _n_1_t_2[Interval]:...
    def GetOverlapRanges(self, overlapNumber: int) -> _n_1_t_2[Interval]:...
    def GetPointOnCurve1(self, intersection: int) -> PointOnCurve2d:...
    def GetPointOnCurve2(self, intersection: int) -> PointOnCurve2d:...
    def IsTangential(self, intersection: int) -> bool:...
    def IsTransversal(self, intersection: int) -> bool:...
    def OrderWithRegardsTo1(self):...
    def OrderWithRegardsTo2(self):...
    def Set(self, curve1: Curve2d, curve2: Curve2d, tolerance: Tolerance):...
    def Set(self, curve1: Curve2d, curve2: Curve2d):...
    def Set(self, curve1: Curve2d, curve2: Curve2d, range1: Interval, range2: Interval, tolerance: Tolerance):...
    def Set(self, curve1: Curve2d, curve2: Curve2d, range1: Interval, range2: Interval):...
class CurveCurveIntersector3d(Entity3d, _n_1_t_0, _n_1_t_1):
    @property
    def Curve1(self) -> Curve3d:"""Curve1 { get; } -> Curve3d"""
    @property
    def Curve2(self) -> Curve3d:"""Curve2 { get; } -> Curve3d"""
    @property
    def NumberOfIntersectionPoints(self) -> int:"""NumberOfIntersectionPoints { get; } -> int"""
    @property
    def PlaneNormal(self) -> Vector3d:"""PlaneNormal { get; } -> Vector3d"""
    @property
    def Tolerance(self) -> Tolerance:"""Tolerance { get; } -> Tolerance"""
    def __init__(self) -> CurveCurveIntersector3d:...
    def __init__(self, curve1: Curve3d, curve2: Curve3d, planeNormal: Vector3d, tolerance: Tolerance) -> CurveCurveIntersector3d:...
    def __init__(self, curve1: Curve3d, curve2: Curve3d, planeNormal: Vector3d) -> CurveCurveIntersector3d:...
    def __init__(self, curve1: Curve3d, curve2: Curve3d, range1: Interval, range2: Interval, planeNormal: Vector3d, tolerance: Tolerance) -> CurveCurveIntersector3d:...
    def __init__(self, curve1: Curve3d, curve2: Curve3d, range1: Interval, range2: Interval, planeNormal: Vector3d) -> CurveCurveIntersector3d:...
    def ChangeCurveOrder(self):...
    def GetIntersectionParameters(self, intersection: int) -> _n_1_t_2[float]:...
    def GetIntersectionPoint(self, intersection: int) -> Point3d:...
    def GetIntersectionPointTolerance(self, intersection: int) -> float:...
    def GetIntersectionRanges(self) -> _n_1_t_2[Interval]:...
    def GetOverlapRanges(self, overlap: int) -> _n_1_t_2[Interval]:...
    def GetPointOnCurve1(self, intersection: int) -> PointOnCurve3d:...
    def GetPointOnCurve2(self, intersection: int) -> PointOnCurve3d:...
    def IsTangential(self, intersection: int) -> bool:...
    def IsTransversal(self, intersection: int) -> bool:...
    def OrderWithRegardsTo1(self):...
    def OrderWithRegardsTo2(self):...
    def OverlapCount(self) -> int:...
    def OverlapDirection(self) -> bool:...
    def Set(self, curve1: Curve3d, curve2: Curve3d, planeNormal: Vector3d, tolerance: Tolerance):...
    def Set(self, curve1: Curve3d, curve2: Curve3d, planeNormal: Vector3d):...
    def Set(self, curve1: Curve3d, curve2: Curve3d, range1: Interval, range2: Interval, planeNormal: Vector3d, tolerance: Tolerance):...
    def Set(self, curve1: Curve3d, curve2: Curve3d, range1: Interval, range2: Interval, planeNormal: Vector3d):...
class Cylinder(Surface, _n_1_t_0, _n_1_t_1):
    @property
    def AxisOfSymmetry(self) -> Vector3d:"""AxisOfSymmetry { get; } -> Vector3d"""
    @property
    def Height(self) -> Interval:"""Height { get; set; } -> Interval"""
    @property
    def IsOuterNormal(self) -> bool:"""IsOuterNormal { get; } -> bool"""
    @property
    def Origin(self) -> Point3d:"""Origin { get; } -> Point3d"""
    @property
    def Radius(self) -> float:"""Radius { get; set; } -> float"""
    @property
    def ReferenceAxis(self) -> Vector3d:"""ReferenceAxis { get; } -> Vector3d"""
    def __init__(self) -> Cylinder:...
    def __init__(self, radius: float, origin: Point3d, axisOfSymmetry: Vector3d) -> Cylinder:...
    def __init__(self, radius: float, origin: Point3d, axisOfSymmetry: Vector3d, referenceAxis: Vector3d, height: Interval, startAngle: float, endAngle: float) -> Cylinder:...
    def GetAngles(self) -> _n_1_t_2[float]:...
    def GetHeightAt(self, parameter: float) -> float:...
    def IntersectWith(self, linearEntity: LinearEntity3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, linearEntity: LinearEntity3d) -> _n_1_t_2[Point3d]:...
    def IsClosed(self, tolerance: Tolerance) -> bool:...
    def IsClosed(self) -> bool:...
    def Set(self, radius: float, origin: Point3d, axisOfSymmetry: Vector3d):...
    def Set(self, radius: float, origin: Point3d, axisOfSymmetry: Vector3d, referenceAxis: Vector3d, height: Interval, startAngle: float, endAngle: float):...
    def SetAngles(self, startAngle: float, endAngle: float):...
class DoubleCollection(_n_2_t_0, typing.Iterable[float]):
    DefaultSize: int
    @property
    def Capacity(self) -> int:"""Capacity { get; set; } -> int"""
    def __init__(self) -> DoubleCollection:...
    def __init__(self, capacity: int) -> DoubleCollection:...
    def __init__(self, values: _n_1_t_2[float]) -> DoubleCollection:...
    def AddRange(self, range: _n_1_t_2[float]):...
    def ToArray(self) -> _n_1_t_2[float]:...
    def TrimToSize(self):...
class DoubleCollectionEnumerator(_n_2_t_1):
    def __init__(self, col: DoubleCollection) -> DoubleCollectionEnumerator:...
class EllipticalArc2d(Curve2d, _n_1_t_0, _n_1_t_1):
    @property
    def Center(self) -> Point2d:"""Center { get; set; } -> Point2d"""
    @property
    def EndAngle(self) -> float:"""EndAngle { get; } -> float"""
    @property
    def IsClockWise(self) -> bool:"""IsClockWise { get; } -> bool"""
    @property
    def MajorAxis(self) -> Vector2d:"""MajorAxis { get; } -> Vector2d"""
    @property
    def MajorRadius(self) -> float:"""MajorRadius { get; set; } -> float"""
    @property
    def MinorAxis(self) -> Vector2d:"""MinorAxis { get; } -> Vector2d"""
    @property
    def MinorRadius(self) -> float:"""MinorRadius { get; set; } -> float"""
    @property
    def StartAngle(self) -> float:"""StartAngle { get; } -> float"""
    def __init__(self) -> EllipticalArc2d:...
    def __init__(self, arc: CircularArc2d) -> EllipticalArc2d:...
    def __init__(self, center: Point2d, majorAxis: Vector2d, minorAxis: Vector2d, majorRadius: float, minorRadius: float) -> EllipticalArc2d:...
    def __init__(self, center: Point2d, majorAxis: Vector2d, minorAxis: Vector2d, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> EllipticalArc2d:...
    def IntersectWith(self, line: LinearEntity2d, tolerance: Tolerance) -> _n_1_t_2[Point2d]:...
    def IntersectWith(self, line: LinearEntity2d) -> _n_1_t_2[Point2d]:...
    def IsCircular(self, tolerance: Tolerance) -> bool:...
    def IsCircular(self) -> bool:...
    def IsInside(self, point: Point2d, tolerance: Tolerance) -> bool:...
    def IsInside(self, point: Point2d) -> bool:...
    def Set(self, center: Point2d, majorAxis: Vector2d, minorAxis: Vector2d, majorRadius: float, minorRadius: float):...
    def Set(self, center: Point2d, majorAxis: Vector2d, minorAxis: Vector2d, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float):...
    def Set(self, arc: CircularArc2d):...
    def SetAngles(self, startAngle: float, endAngle: float):...
    def SetAxes(self, majorAxis: Vector2d, minorAxis: Vector2d):...
class EllipticalArc3d(Curve3d, _n_1_t_0, _n_1_t_1):
    @property
    def Center(self) -> Point3d:"""Center { get; set; } -> Point3d"""
    @property
    def EndAngle(self) -> float:"""EndAngle { get; } -> float"""
    @property
    def MajorAxis(self) -> Vector3d:"""MajorAxis { get; } -> Vector3d"""
    @property
    def MajorRadius(self) -> float:"""MajorRadius { get; set; } -> float"""
    @property
    def MinorAxis(self) -> Vector3d:"""MinorAxis { get; } -> Vector3d"""
    @property
    def MinorRadius(self) -> float:"""MinorRadius { get; set; } -> float"""
    @property
    def Normal(self) -> Vector3d:"""Normal { get; } -> Vector3d"""
    @property
    def StartAngle(self) -> float:"""StartAngle { get; } -> float"""
    def __init__(self) -> EllipticalArc3d:...
    def __init__(self, center: Point3d, majorAxis: Vector3d, minorAxis: Vector3d, majorRadius: float, minorRadius: float) -> EllipticalArc3d:...
    def __init__(self, center: Point3d, majorAxis: Vector3d, minorAxis: Vector3d, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> EllipticalArc3d:...
    def ClosestPointToPlane(self, plane: PlanarEntity, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def ClosestPointToPlane(self, plane: PlanarEntity) -> _n_1_t_2[Point3d]:...
    def GetPlane(self) -> Plane:...
    def IntersectWith(self, line: LinearEntity3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, line: LinearEntity3d) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, plane: PlanarEntity, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, plane: PlanarEntity) -> _n_1_t_2[Point3d]:...
    def IsCircular(self, tolerance: Tolerance) -> bool:...
    def IsCircular(self) -> bool:...
    def IsInside(self, pointValue: Point3d, tolerance: Tolerance) -> bool:...
    def IsInside(self, pointValue: Point3d) -> bool:...
    def ProjectedIntersectWith(self, line: LinearEntity3d, projectionDirection: Vector3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def ProjectedIntersectWith(self, line: LinearEntity3d, projectionDirection: Vector3d) -> _n_1_t_2[Point3d]:...
    def Set(self, center: Point3d, majorAxis: Vector3d, minorAxis: Vector3d, majorRadius: float, minorRadius: float):...
    def Set(self, center: Point3d, majorAxis: Vector3d, minorAxis: Vector3d, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float):...
    def SetAngles(self, startAngle: float, endAngle: float):...
    def SetAxes(self, majorAxis: Vector3d, minorAxis: Vector3d):...
class Entity2d(_n_0_t_0, _n_1_t_0, _n_1_t_1):
    def IsEqualTo(self, entity: Entity2d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, entity: Entity2d) -> bool:...
    def IsOn(self, point: Point2d, tolerance: Tolerance) -> bool:...
    def IsOn(self, point: Point2d) -> bool:...
    def Mirror(self, line: Line2d):...
    def RotateBy(self, angle: float, point: Point2d):...
    def ScaleBy(self, scaleFactor: float, point: Point2d):...
    def TransformBy(self, transform: Matrix2d):...
    def TranslateBy(self, translateVector: Vector2d):...
class Entity3d(_n_0_t_0, _n_1_t_0, _n_1_t_1):
    def IsEqualTo(self, entity: Entity3d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, entity: Entity3d) -> bool:...
    def IsOn(self, point: Point3d, tolerance: Tolerance) -> bool:...
    def IsOn(self, point: Point3d) -> bool:...
    def Mirror(self, plane: Plane):...
    def RotateBy(self, angle: float, vector: Vector3d, point: Point3d):...
    def ScaleBy(self, scaleFactor: float, point: Point3d):...
    def TransformBy(self, transform: Matrix3d):...
    def TranslateBy(self, translateVector: Vector3d):...
class ErrorCondition(_n_1_t_4, _n_1_t_5, _n_1_t_6, _n_1_t_7):
    Arg1: int
    Arg1InsideThis: int
    Arg1OnThis: int
    Arg1TooBig: int
    Arg2: int
    EqualArg1Arg2: int
    EqualArg1Arg3: int
    EqualArg2Arg3: int
    LinearlyDependentArg1Arg2Arg3: int
    OK: int
    PerpendicularArg1Arg2: int
    This: int
    value__: int
class ExternalBoundedSurface(Surface, _n_1_t_0, _n_1_t_1):
    @property
    def BaseSurface(self) -> Surface:"""BaseSurface { get; } -> Surface"""
    @property
    def ExternalBaseSurface(self) -> ExternalSurface:"""ExternalBaseSurface { get; } -> ExternalSurface"""
    @property
    def ExternalSurfaceDefinition(self) -> _n_1_t_8:"""ExternalSurfaceDefinition { get; } -> IntPtr"""
    @property
    def ExternalSurfaceKind(self) -> ExternalEntityKind:"""ExternalSurfaceKind { get; } -> ExternalEntityKind"""
    @property
    def IsCone(self) -> bool:"""IsCone { get; } -> bool"""
    @property
    def IsCylinder(self) -> bool:"""IsCylinder { get; } -> bool"""
    @property
    def IsDefined(self) -> bool:"""IsDefined { get; } -> bool"""
    @property
    def IsExternalSurface(self) -> bool:"""IsExternalSurface { get; } -> bool"""
    @property
    def IsNurbs(self) -> bool:"""IsNurbs { get; } -> bool"""
    @property
    def IsOwnerOfSurface(self) -> bool:"""IsOwnerOfSurface { get; } -> bool"""
    @property
    def IsPlane(self) -> bool:"""IsPlane { get; } -> bool"""
    @property
    def IsSphere(self) -> bool:"""IsSphere { get; } -> bool"""
    @property
    def IsTorus(self) -> bool:"""IsTorus { get; } -> bool"""
    @property
    def NumContours(self) -> int:"""NumContours { get; } -> int"""
    def __init__(self) -> ExternalBoundedSurface:...
    def __init__(self, surfaceDefinition: _n_1_t_8, surfaceKind: ExternalEntityKind) -> ExternalBoundedSurface:...
    def GetContours(self) -> _n_1_t_2[CurveBoundary]:...
    def Set(self, surfaceDef: _n_1_t_8, surfaceKind: ExternalEntityKind):...
    def SetToOwnSurface(self):...
class ExternalCurve2d(Curve2d, _n_1_t_0, _n_1_t_1):
    @property
    def ExternalCurve(self) -> _n_1_t_8:"""ExternalCurve { get; } -> IntPtr"""
    @property
    def ExternalCurveKind(self) -> ExternalEntityKind:"""ExternalCurveKind { get; } -> ExternalEntityKind"""
    @property
    def IsDefined(self) -> bool:"""IsDefined { get; } -> bool"""
    @property
    def IsNurbCurve(self) -> bool:"""IsNurbCurve { get; } -> bool"""
    @property
    def IsOwnerOfCurve(self) -> bool:"""IsOwnerOfCurve { get; } -> bool"""
    @property
    def NurbCurve(self) -> NurbCurve2d:"""NurbCurve { get; } -> NurbCurve2d"""
    def __init__(self) -> ExternalCurve2d:...
    def __init__(self, curveDef: _n_1_t_8, curveKind: ExternalEntityKind) -> ExternalCurve2d:...
    def Set(self, curveDef: _n_1_t_8, curveKind: ExternalEntityKind):...
    def SetToOwnCurve(self):...
class ExternalCurve3d(Curve3d, _n_1_t_0, _n_1_t_1):
    @property
    def ExternalCurveKind(self) -> ExternalEntityKind:"""ExternalCurveKind { get; } -> ExternalEntityKind"""
    @property
    def IsCircularArc(self) -> bool:"""IsCircularArc { get; } -> bool"""
    @property
    def IsDefined(self) -> bool:"""IsDefined { get; } -> bool"""
    @property
    def IsEllipticalArc(self) -> bool:"""IsEllipticalArc { get; } -> bool"""
    @property
    def IsLine(self) -> bool:"""IsLine { get; } -> bool"""
    @property
    def IsLineSegment(self) -> bool:"""IsLineSegment { get; } -> bool"""
    @property
    def IsNativeCurve(self) -> bool:"""IsNativeCurve { get; } -> bool"""
    @property
    def IsNurbCurve(self) -> bool:"""IsNurbCurve { get; } -> bool"""
    @property
    def IsRay(self) -> bool:"""IsRay { get; } -> bool"""
    @property
    def NativeCurve(self) -> Curve3d:"""NativeCurve { get; } -> Curve3d"""
class ExternalEntityKind(_n_1_t_4, _n_1_t_5, _n_1_t_6, _n_1_t_7):
    AcisEntity: int
    ExternalEntityUndefined: int
    value__: int
class ExternalSurface(Surface, _n_1_t_0, _n_1_t_1):
    @property
    def ExternalSurfaceDefiniton(self) -> _n_1_t_8:"""ExternalSurfaceDefiniton { get; } -> IntPtr"""
    @property
    def ExternalSurfaceKind(self) -> ExternalEntityKind:"""ExternalSurfaceKind { get; } -> ExternalEntityKind"""
    @property
    def IsCone(self) -> bool:"""IsCone { get; } -> bool"""
    @property
    def IsCylinder(self) -> bool:"""IsCylinder { get; } -> bool"""
    @property
    def IsDefined(self) -> bool:"""IsDefined { get; } -> bool"""
    @property
    def IsNativeSurface(self) -> bool:"""IsNativeSurface { get; } -> bool"""
    @property
    def IsNurbSurface(self) -> bool:"""IsNurbSurface { get; } -> bool"""
    @property
    def IsOwnerOfSurface(self) -> bool:"""IsOwnerOfSurface { get; } -> bool"""
    @property
    def IsPlane(self) -> bool:"""IsPlane { get; } -> bool"""
    @property
    def IsSphere(self) -> bool:"""IsSphere { get; } -> bool"""
    @property
    def IsTorus(self) -> bool:"""IsTorus { get; } -> bool"""
    @property
    def nativeSurface(self) -> Surface:"""nativeSurface { get; } -> Surface"""
    def __init__(self) -> ExternalSurface:...
    def __init__(self, surfaceDefinition: _n_1_t_8, surfaceKind: ExternalEntityKind) -> ExternalSurface:...
    def Set(self, surfaceDef: _n_1_t_8, surfaceKind: ExternalEntityKind):...
    def SetToOwnSurface(self):...
class GeoDataLonLatAltInfo(_n_1_t_3):
    @property
    def Altitude(self) -> float:"""Altitude { get; set; } -> float"""
    @property
    def Latitude(self) -> float:"""Latitude { get; set; } -> float"""
    @property
    def Longitude(self) -> float:"""Longitude { get; set; } -> float"""
    def __init__(self, dbLong: float, dbLat: float, dbAlt: float) -> GeoDataLonLatAltInfo:...
class Int32Collection(_n_2_t_0, typing.Iterable[int]):
    DefaultSize: int
    @property
    def Capacity(self) -> int:"""Capacity { get; set; } -> int"""
    def __init__(self) -> Int32Collection:...
    def __init__(self, capacity: int) -> Int32Collection:...
    def __init__(self, values: _n_1_t_2[int]) -> Int32Collection:...
    def AddRange(self, range: _n_1_t_2[int]):...
    def ToArray(self) -> _n_1_t_2[int]:...
    def TrimToSize(self):...
class Int32CollectionEnumerator(_n_2_t_1):
    def __init__(self, col: Int32Collection) -> Int32CollectionEnumerator:...
class IntegerCollection(_n_2_t_0, typing.Iterable[int]):
    DefaultSize: int
    @property
    def Capacity(self) -> int:"""Capacity { get; set; } -> int"""
    def __init__(self) -> IntegerCollection:...
    def __init__(self, capacity: int) -> IntegerCollection:...
    def __init__(self, values: _n_1_t_2[int]) -> IntegerCollection:...
    def AddRange(self, range: _n_1_t_2[int]):...
    def ToArray(self) -> _n_1_t_2[int]:...
    def TrimToSize(self):...
class IntegerCollectionEnumerator(_n_2_t_1):
    def __init__(self, col: IntegerCollection) -> IntegerCollectionEnumerator:...
class Interval(_n_0_t_0, _n_1_t_0):
    @property
    def Element(self) -> float:"""Element { get; } -> float"""
    @property
    def IsBounded(self) -> bool:"""IsBounded { get; } -> bool"""
    @property
    def IsBoundedAbove(self) -> bool:"""IsBoundedAbove { get; } -> bool"""
    @property
    def IsBoundedBelow(self) -> bool:"""IsBoundedBelow { get; } -> bool"""
    @property
    def IsSingleton(self) -> bool:"""IsSingleton { get; } -> bool"""
    @property
    def IsUnbounded(self) -> bool:"""IsUnbounded { get; } -> bool"""
    @property
    def Length(self) -> float:"""Length { get; } -> float"""
    @property
    def LowerBound(self) -> float:"""LowerBound { get; } -> float"""
    @property
    def Tolerance(self) -> float:"""Tolerance { get; } -> float"""
    @property
    def Unbounded(self) -> Interval:"""Unbounded { get; } -> Interval"""
    @property
    def UpperBound(self) -> float:"""UpperBound { get; } -> float"""
    def __init__(self, tolerance: float) -> Interval:...
    def __init__(self, lower: float, upper: float, tolerance: float) -> Interval:...
    def __init__(self, boundedBelow: int, bound: float, tolerance: float) -> Interval:...
    def __init__(self, other: Interval) -> Interval:...
    def Contains(self, otherInterval: Interval) -> bool:...
    def Contains(self, value: float) -> bool:...
    def GetBounds(self) -> _n_1_t_2[float]:...
    def GetMerge(self, otherInterval: Interval) -> Interval:...
    def IntersectWith(self, otherInterval: Interval) -> Interval:...
    def IsContinuousAtUpper(self, otherInterval: Interval) -> bool:...
    def IsDisjoint(self, otherInterval: Interval) -> bool:...
    def IsEqualAtLower(self, otherInterval: Interval) -> bool:...
    def IsEqualAtLower(self, value: float) -> bool:...
    def IsEqualAtUpper(self, otherInterval: Interval) -> bool:...
    def IsEqualAtUpper(self, value: float) -> bool:...
    def IsOverlapAtUpper(self, otherInterval: Interval, overlap: Interval) -> bool:...
    def IsPeriodicallyOn(self, period: float, value: float) -> bool:...
    def Subtract(self, otherInterval: Interval) -> _n_1_t_2[Interval]:...
class IntPtrCollection(_n_2_t_0, typing.Iterable[_n_1_t_8]):
    DefaultSize: int
    @property
    def Capacity(self) -> int:"""Capacity { get; set; } -> int"""
    def __init__(self) -> IntPtrCollection:...
    def __init__(self, capacity: int) -> IntPtrCollection:...
    def __init__(self, values: _n_1_t_2[_n_1_t_8]) -> IntPtrCollection:...
    def AddRange(self, range: _n_1_t_2[_n_1_t_8]):...
    def ToArray(self) -> _n_1_t_2[_n_1_t_8]:...
    def TrimToSize(self):...
class IntPtrCollectionEnumerator(_n_2_t_1):
    def __init__(self, col: IntPtrCollection) -> IntPtrCollectionEnumerator:...
class KnotCollection(_n_0_t_0, _n_1_t_0, _n_2_t_0, typing.Iterable[float]):
    @property
    def EndParameter(self) -> float:"""EndParameter { get; } -> float"""
    @property
    def NumberOfIntervals(self) -> int:"""NumberOfIntervals { get; } -> int"""
    @property
    def StartParameter(self) -> float:"""StartParameter { get; } -> float"""
    @property
    def Tolerance(self) -> float:"""Tolerance { get; set; } -> float"""
    def __init__(self) -> KnotCollection:...
    def GetDistinctKnots(self) -> DoubleCollection:...
    def GetInterval(self, order: int, parameter: float, interval: Interval) -> int:...
    def GetMultiplicityAt(self, i: int) -> int:...
    def IsOn(self, knot: float) -> bool:...
    def Reverse(self):...
    def SetRange(self, lower: float, upper: float):...
    def Split(self, parameter: float, multiplicityLast: int, multiplicityFirst: int) -> _n_1_t_2[KnotCollection]:...
class KnotParameterizationEnum(_n_1_t_4, _n_1_t_5, _n_1_t_6, _n_1_t_7):
    Chord: int
    CustomParameterization: int
    NotDefinedParameterization: int
    SqrtChord: int
    Uniform: int
    value__: int
class Line2d(LinearEntity2d, _n_1_t_0, _n_1_t_1):
    def __init__(self) -> Line2d:...
    def __init__(self, point: Point2d, vector: Vector2d) -> Line2d:...
    def __init__(self, point1: Point2d, point2: Point2d) -> Line2d:...
    def Set(self, point: Point2d, vector: Vector2d):...
    def Set(self, point1: Point2d, point2: Point2d):...
class Line2dCollection(_n_2_t_0, typing.Iterable[Line2d]):
    def __init__(self) -> Line2dCollection:...
class Line3d(LinearEntity3d, _n_1_t_0, _n_1_t_1):
    def __init__(self) -> Line3d:...
    def __init__(self, point: Point3d, vector: Vector3d) -> Line3d:...
    def __init__(self, point1: Point3d, point2: Point3d) -> Line3d:...
    def Set(self, point: Point3d, vector: Vector3d):...
    def Set(self, point1: Point3d, point2: Point3d):...
class LinearEntity2d(Curve2d, _n_1_t_0, _n_1_t_1):
    @property
    def Direction(self) -> Vector2d:"""Direction { get; } -> Vector2d"""
    @property
    def PointOnLine(self) -> Point2d:"""PointOnLine { get; } -> Point2d"""
    def GetLine(self) -> Line2d:...
    def GetPerpendicularLine(self, point: Point2d) -> Line2d:...
    def IntersectWith(self, line: LinearEntity2d, tolerance: Tolerance) -> _n_1_t_2[Point2d]:...
    def IntersectWith(self, line: LinearEntity2d) -> _n_1_t_2[Point2d]:...
    def IsColinearTo(self, line: LinearEntity2d, tolerance: Tolerance) -> bool:...
    def IsColinearTo(self, line: LinearEntity2d) -> bool:...
    def IsParallelTo(self, line: LinearEntity2d, tolerance: Tolerance) -> bool:...
    def IsParallelTo(self, line: LinearEntity2d) -> bool:...
    def IsPerpendicularTo(self, line: LinearEntity2d, tolerance: Tolerance) -> bool:...
    def IsPerpendicularTo(self, line: LinearEntity2d) -> bool:...
    def Overlap(self, line: LinearEntity2d, tolerance: Tolerance) -> LinearEntity2d:...
    def Overlap(self, line: LinearEntity2d) -> LinearEntity2d:...
class LinearEntity3d(Curve3d, _n_1_t_0, _n_1_t_1):
    @property
    def Direction(self) -> Vector3d:"""Direction { get; } -> Vector3d"""
    @property
    def PointOnLine(self) -> Point3d:"""PointOnLine { get; } -> Point3d"""
    def GetLine(self) -> Line3d:...
    def GetPerpendicularPlane(self, intersectionPoint: Point3d) -> Plane:...
    def IntersectWith(self, line: LinearEntity3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, line: LinearEntity3d) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, plane: PlanarEntity, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, plane: PlanarEntity) -> _n_1_t_2[Point3d]:...
    def IsColinearTo(self, line: LinearEntity3d, tolerance: Tolerance) -> bool:...
    def IsColinearTo(self, line: LinearEntity3d) -> bool:...
    def IsParallelTo(self, line: LinearEntity3d, tolerance: Tolerance) -> bool:...
    def IsParallelTo(self, line: LinearEntity3d) -> bool:...
    def IsParallelTo(self, plane: PlanarEntity, tolerance: Tolerance) -> bool:...
    def IsParallelTo(self, plane: PlanarEntity) -> bool:...
    def IsPerpendicularTo(self, line: LinearEntity3d, tolerance: Tolerance) -> bool:...
    def IsPerpendicularTo(self, line: LinearEntity3d) -> bool:...
    def IsPerpendicularTo(self, plane: PlanarEntity, tolerance: Tolerance) -> bool:...
    def IsPerpendicularTo(self, plane: PlanarEntity) -> bool:...
    def Overlap(self, line: LinearEntity3d, tolerance: Tolerance) -> LinearEntity3d:...
    def Overlap(self, line: LinearEntity3d) -> LinearEntity3d:...
    def ProjectedIntersectWith(self, line: LinearEntity3d, projectionDirection: Vector3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def ProjectedIntersectWith(self, line: LinearEntity3d, projectionDirection: Vector3d) -> _n_1_t_2[Point3d]:...
class LineSegment2d(LinearEntity2d, _n_1_t_0, _n_1_t_1):
    @property
    def Length(self) -> float:"""Length { get; } -> float"""
    @property
    def MidPoint(self) -> Point2d:"""MidPoint { get; } -> Point2d"""
    def __init__(self) -> LineSegment2d:...
    def __init__(self, point1: Point2d, point2: Point2d) -> LineSegment2d:...
    def __init__(self, point: Point2d, vector: Vector2d) -> LineSegment2d:...
    def BaryComb(self, blendCoefficient: float) -> Point2d:...
    def GetBisector(self) -> Line2d:...
    def GetSegmentLength(self, fromParameter: float, toParameter: float, tolerance: Tolerance) -> float:...
    def GetSegmentLength(self, fromParameter: float, toParameter: float) -> float:...
    def Set(self, point: Point2d, vector: Vector2d):...
    def Set(self, point1: Point2d, point2: Point2d):...
    def Set(self, curve1: Curve2d, curve2: Curve2d, parameter1: float, parameter2: float):...
    def Set(self, curve: Curve2d, point: Point2d, parameter: float):...
class LineSegment3d(LinearEntity3d, _n_1_t_0, _n_1_t_1):
    @property
    def Length(self) -> float:"""Length { get; } -> float"""
    @property
    def MidPoint(self) -> Point3d:"""MidPoint { get; } -> Point3d"""
    def __init__(self) -> LineSegment3d:...
    def __init__(self, point: Point3d, vector: Vector3d) -> LineSegment3d:...
    def __init__(self, point1: Point3d, point2: Point3d) -> LineSegment3d:...
    def BaryComb(self, blendCoefficient: float) -> Point3d:...
    def GetBisector(self) -> Plane:...
    def Set(self, point: Point3d, vector: Vector3d):...
    def Set(self, point1: Point3d, point2: Point3d):...
    def Set(self, curve1: Curve3d, curve2: Curve3d, parameter1: float, parameter2: float):...
    def Set(self, curve: Curve3d, point: Point3d, parameter: float):...
class Matrix2d(_n_1_t_3, _n_1_t_6):
    @property
    def CoordinateSystem2d(self) -> CoordinateSystem2d:"""CoordinateSystem2d { get; } -> CoordinateSystem2d"""
    @property
    def ElementAt(self) -> float:"""ElementAt { get; } -> float"""
    @property
    def Translation(self) -> Vector2d:"""Translation { get; } -> Vector2d"""
    def __init__(self, data: _n_1_t_2[float]) -> Matrix2d:...
    @staticmethod
    def AlignCoordinateSystem(fromOrigin: Point2d, fromE0: Vector2d, fromE1: Vector2d, toOrigin: Point2d, toE0: Vector2d, toE1: Vector2d) -> Matrix2d:...
    @staticmethod
    def Displacement(vector: Vector2d) -> Matrix2d:...
    def GetDeterminant(self) -> float:...
    def GetScale(self) -> float:...
    def Inverse(self) -> Matrix2d:...
    def IsConformal(self, info: Matrix2dInfo) -> bool:...
    def IsEqualTo(self, a: Matrix2d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, a: Matrix2d) -> bool:...
    def IsScaledOrtho(self, tolerance: Tolerance) -> bool:...
    def IsScaledOrtho(self) -> bool:...
    def IsSingular(self, tolerance: Tolerance) -> bool:...
    def IsSingular(self) -> bool:...
    def IsUniscaledOrtho(self, tolerance: Tolerance) -> bool:...
    def IsUniscaledOrtho(self) -> bool:...
    @staticmethod
    def Mirroring(point: Point2d) -> Matrix2d:...
    @staticmethod
    def Mirroring(line: Line2d) -> Matrix2d:...
    def Multiply(self, matrix: Matrix2d) -> Matrix2d:...
    def PostMultiplyBy(self, rightSide: Matrix2d) -> Matrix2d:...
    def PreMultiplyBy(self, leftSide: Matrix2d) -> Matrix2d:...
    @staticmethod
    def Rotation(angle: float, center: Point2d) -> Matrix2d:...
    @staticmethod
    def Scaling(scaleAll: float, center: Point2d) -> Matrix2d:...
    def ToArray(self) -> _n_1_t_2[float]:...
    def Transpose(self) -> Matrix2d:...
class Matrix2dBuilder(object):
    @property
    def ElementAt(self) -> float:"""ElementAt { get; set; } -> float"""
    def __init__(self) -> Matrix2dBuilder:...
    def __init__(self, value: Matrix2d) -> Matrix2dBuilder:...
    def ToMatrix2d(self) -> Matrix2d:...
class Matrix2dInfo(_n_1_t_3):
    @property
    def Angle(self) -> float:"""Angle { get; } -> float"""
    @property
    def IsMirror(self) -> bool:"""IsMirror { get; } -> bool"""
    @property
    def Reflex(self) -> Vector2d:"""Reflex { get; } -> Vector2d"""
    @property
    def Scale(self) -> float:"""Scale { get; } -> float"""
    def IsEqualTo(self, a: Matrix2dInfo, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, a: Matrix2dInfo) -> bool:...
class Matrix3d(_n_1_t_3, _n_1_t_6):
    @property
    def CoordinateSystem3d(self) -> CoordinateSystem3d:"""CoordinateSystem3d { get; } -> CoordinateSystem3d"""
    @property
    def ElementAt(self) -> float:"""ElementAt { get; } -> float"""
    @property
    def Identity(self) -> Matrix3d:"""Identity { get; } -> Matrix3d"""
    @property
    def Normal(self) -> float:"""Normal { get; } -> float"""
    @property
    def Translation(self) -> Vector3d:"""Translation { get; } -> Vector3d"""
    def __init__(self, data: _n_1_t_2[float]) -> Matrix3d:...
    @staticmethod
    def AlignCoordinateSystem(fromOrigin: Point3d, fromXAxis: Vector3d, fromYAxis: Vector3d, fromZAxis: Vector3d, toOrigin: Point3d, toXAxis: Vector3d, toYAxis: Vector3d, toZAxis: Vector3d) -> Matrix3d:...
    @staticmethod
    def Displacement(vector: Vector3d) -> Matrix3d:...
    def GetDeterminant(self) -> float:...
    def GetScale(self) -> float:...
    def Inverse(self) -> Matrix3d:...
    def IsEqualTo(self, mat: Matrix3d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, mat: Matrix3d) -> bool:...
    def IsInverse(self, inv: Matrix3d, tolerance: Tolerance) -> bool:...
    def IsInverse(self, inv: Matrix3d) -> bool:...
    def IsScaledOrtho(self, tolerance: Tolerance) -> bool:...
    def IsScaledOrtho(self) -> bool:...
    def IsSingular(self, tolerance: Tolerance) -> bool:...
    def IsSingular(self) -> bool:...
    def IsUniscaledOrtho(self, tolerance: Tolerance) -> bool:...
    def IsUniscaledOrtho(self) -> bool:...
    @staticmethod
    def Mirroring(line: Line3d) -> Matrix3d:...
    @staticmethod
    def Mirroring(plane: Plane) -> Matrix3d:...
    @staticmethod
    def Mirroring(pointValue: Point3d) -> Matrix3d:...
    @staticmethod
    def PlaneToWorld(plane: Plane) -> Matrix3d:...
    @staticmethod
    def PlaneToWorld(normal: Vector3d) -> Matrix3d:...
    def PostMultiplyBy(self, rightSide: Matrix3d) -> Matrix3d:...
    def PreMultiplyBy(self, leftSide: Matrix3d) -> Matrix3d:...
    @staticmethod
    def Projection(projectionPlane: Plane, projectDir: Vector3d) -> Matrix3d:...
    @staticmethod
    def Rotation(angle: float, axis: Vector3d, center: Point3d) -> Matrix3d:...
    @staticmethod
    def Scaling(scaleAll: float, center: Point3d) -> Matrix3d:...
    def ToArray(self) -> _n_1_t_2[float]:...
    def Transpose(self) -> Matrix3d:...
    @staticmethod
    def WorldToPlane(plane: Plane) -> Matrix3d:...
    @staticmethod
    def WorldToPlane(normal: Vector3d) -> Matrix3d:...
class Matrix3dBuilder(object):
    @property
    def ElementAt(self) -> float:"""ElementAt { get; set; } -> float"""
    def __init__(self) -> Matrix3dBuilder:...
    def __init__(self, value: Matrix3d) -> Matrix3dBuilder:...
    def ToMatrix3d(self) -> Matrix3d:...
class NurbCurve2d(SplineEntity2d, _n_1_t_0, _n_1_t_1):
    @property
    def DefinitionData(self) -> NurbCurve2dData:"""DefinitionData { get; } -> NurbCurve2dData"""
    @property
    def EvalMode(self) -> bool:"""EvalMode { get; } -> bool"""
    @property
    def FitData(self) -> NurbCurve2dFitData:"""FitData { get; } -> NurbCurve2dFitData"""
    @property
    def FitKnotParameterization(self) -> KnotParameterizationEnum:"""FitKnotParameterization { get; set; } -> KnotParameterizationEnum"""
    @property
    def FitTolerance(self) -> Tolerance:"""FitTolerance { get; set; } -> Tolerance"""
    @property
    def NumFitPoints(self) -> int:"""NumFitPoints { get; } -> int"""
    @property
    def NumWeights(self) -> int:"""NumWeights { get; } -> int"""
    def __init__(self) -> NurbCurve2d:...
    def __init__(self, degree: int, knots: KnotCollection, controlPoints: Point2dCollection, periodic: bool) -> NurbCurve2d:...
    def __init__(self, degree: int, knots: KnotCollection, controlPoints: Point2dCollection, weights: DoubleCollection, periodic: bool) -> NurbCurve2d:...
    def __init__(self, degree: int, fitPolyline: PolylineCurve2d, periodic: bool) -> NurbCurve2d:...
    def __init__(self, fitPoints: Point2dCollection, startTangent: Vector2d, endTangent: Vector2d, startTangentDefined: bool, endTangentDefined: bool, fitTolerance: Tolerance) -> NurbCurve2d:...
    def __init__(self, fitPoints: Point2dCollection, startTangent: Vector2d, endTangent: Vector2d, startTangentDefined: bool, endTangentDefined: bool) -> NurbCurve2d:...
    def __init__(self, fitPoints: Point2dCollection, startTangent: Vector2d, endTangent: Vector2d, startTangentDefined: bool, endTangentDefined: bool, knotParam: KnotParameterizationEnum, fitTolerance: Tolerance) -> NurbCurve2d:...
    def __init__(self, fitPoints: Point2dCollection, startTangent: Vector2d, endTangent: Vector2d, startTangentDefined: bool, endTangentDefined: bool, knotParam: KnotParameterizationEnum) -> NurbCurve2d:...
    def __init__(self, fitPoints: Point2dCollection, fitTolerance: Tolerance) -> NurbCurve2d:...
    def __init__(self, fitPoints: Point2dCollection) -> NurbCurve2d:...
    def __init__(self, fitPoints: Point2dCollection, fitTangents: Vector2dCollection, fitTolerance: Tolerance, periodic: bool) -> NurbCurve2d:...
    def __init__(self, fitPoints: Point2dCollection, fitTangents: Vector2dCollection, periodic: bool) -> NurbCurve2d:...
    def __init__(self, ellipse: EllipticalArc2d) -> NurbCurve2d:...
    def __init__(self, linSegment: LineSegment2d) -> NurbCurve2d:...
    def AddControlPointAt(self, newKnot: float, point: Point2d, weight: float):...
    def AddFitPointAt(self, index: int, point: Point2d) -> bool:...
    def AddKnot(self, newKnot: float):...
    def DeleteControlPointAt(self, index: int):...
    def DeleteFitPointAt(self, index: int) -> bool:...
    def ElevateDegree(self, plusDegree: int):...
    def GetFitPointAt(self, index: int) -> Point2d:...
    def GetFitTangents(self) -> _n_1_t_2[Vector2d]:...
    def GetParametersOfC1Discontinuity(self, tolerance: Tolerance) -> DoubleCollection:...
    def GetParametersOfC1Discontinuity(self) -> DoubleCollection:...
    def GetParametersOfG1Discontinuity(self, tolerance: Tolerance) -> DoubleCollection:...
    def GetParametersOfG1Discontinuity(self) -> DoubleCollection:...
    def GetWeightAt(self, index: int) -> float:...
    def HardTrimByParams(self, newStartParameter: float, newEndParameter: float):...
    def InsertKnot(self, newKnot: float):...
    def JoinWith(self, curve: NurbCurve2d):...
    def MakeClosed(self):...
    def MakeNonPeriodic(self):...
    def MakeOpen(self):...
    def MakePeriodic(self):...
    def MakeRational(self, weight: float):...
    def PurgeFitData(self) -> bool:...
    def SetEvaluateMode(self, evaluateMode: bool):...
    def SetFitData(self, fitPoints: Point2dCollection, startTangent: Vector2d, endTangent: Vector2d, fitTolerance: Tolerance):...
    def SetFitData(self, fitPoints: Point2dCollection, startTangent: Vector2d, endTangent: Vector2d):...
    def SetFitData(self, fitPoints: Point2dCollection, startTangent: Vector2d, endTangent: Vector2d, knotParam: KnotParameterizationEnum, fitTolerance: Tolerance):...
    def SetFitData(self, fitKnots: KnotCollection, fitPoints: Point2dCollection, startTangent: Vector2d, endTangent: Vector2d, fitTolerance: Tolerance, periodic: bool):...
    def SetFitData(self, fitKnots: KnotCollection, fitPoints: Point2dCollection, startTangent: Vector2d, endTangent: Vector2d, periodic: bool):...
    def SetFitData(self, degree: int, fitPoints: Point2dCollection, fitTolerance: Tolerance):...
    def SetFitData(self, degree: int, fitPoints: Point2dCollection):...
    def SetFitPointAt(self, index: int, point: Point2d) -> bool:...
    def SetFitTangents(self, startTangent: Vector2d, endTangent: Vector2d) -> bool:...
    def SetWeightAt(self, index: int, value: float):...
class NurbCurve2dData(_n_1_t_3):
    @property
    def ControlPoints(self) -> Point2dCollection:"""ControlPoints { get; } -> Point2dCollection"""
    @property
    def Degree(self) -> int:"""Degree { get; } -> int"""
    @property
    def Knots(self) -> KnotCollection:"""Knots { get; } -> KnotCollection"""
    @property
    def Periodic(self) -> bool:"""Periodic { get; } -> bool"""
    @property
    def Rational(self) -> bool:"""Rational { get; } -> bool"""
    @property
    def Weights(self) -> DoubleCollection:"""Weights { get; } -> DoubleCollection"""
    def IsEqualTo(self, a: NurbCurve2dData) -> bool:...
class NurbCurve2dFitData(_n_1_t_3):
    @property
    def Degree(self) -> int:"""Degree { get; } -> int"""
    @property
    def EndTangent(self) -> Vector2d:"""EndTangent { get; } -> Vector2d"""
    @property
    def FitPoints(self) -> Point2dCollection:"""FitPoints { get; } -> Point2dCollection"""
    @property
    def FitTolerance(self) -> Tolerance:"""FitTolerance { get; } -> Tolerance"""
    @property
    def KnotParam(self) -> KnotParameterizationEnum:"""KnotParam { get; } -> KnotParameterizationEnum"""
    @property
    def StartTangent(self) -> Vector2d:"""StartTangent { get; } -> Vector2d"""
    @property
    def TangentsExist(self) -> bool:"""TangentsExist { get; } -> bool"""
    def IsEqualTo(self, a: NurbCurve2dFitData) -> bool:...
class NurbCurve3d(SplineEntity3d, _n_1_t_0, _n_1_t_1):
    @property
    def DefinitionData(self) -> NurbCurve3dData:"""DefinitionData { get; } -> NurbCurve3dData"""
    @property
    def EvalMode(self) -> bool:"""EvalMode { get; } -> bool"""
    @property
    def FitData(self) -> NurbCurve3dFitData:"""FitData { get; } -> NurbCurve3dFitData"""
    @property
    def FitKnotParameterization(self) -> KnotParameterizationEnum:"""FitKnotParameterization { get; set; } -> KnotParameterizationEnum"""
    @property
    def FitTolerance(self) -> Tolerance:"""FitTolerance { get; set; } -> Tolerance"""
    @property
    def NumFitPoints(self) -> int:"""NumFitPoints { get; } -> int"""
    @property
    def NumWeights(self) -> int:"""NumWeights { get; } -> int"""
    def __init__(self) -> NurbCurve3d:...
    def __init__(self, degree: int, knots: KnotCollection, controlPoints: Point3dCollection, periodic: bool) -> NurbCurve3d:...
    def __init__(self, degree: int, knots: KnotCollection, controlPoints: Point3dCollection, weights: DoubleCollection, periodic: bool) -> NurbCurve3d:...
    def __init__(self, degree: int, fitPolyline: PolylineCurve3d, periodic: bool) -> NurbCurve3d:...
    def __init__(self, fitPoints: Point3dCollection, startTangent: Vector3d, endTangent: Vector3d, startTangentDefined: bool, endTangentDefined: bool, fitTolerance: Tolerance) -> NurbCurve3d:...
    def __init__(self, fitPoints: Point3dCollection, startTangent: Vector3d, endTangent: Vector3d, startTangentDefined: bool, endTangentDefined: bool) -> NurbCurve3d:...
    def __init__(self, fitPoints: Point3dCollection, startTangent: Vector3d, endTangent: Vector3d, startTangentDefined: bool, endTangentDefined: bool, knotParam: KnotParameterizationEnum, fitTolerance: Tolerance) -> NurbCurve3d:...
    def __init__(self, fitPoints: Point3dCollection, startTangent: Vector3d, endTangent: Vector3d, startTangentDefined: bool, endTangentDefined: bool, knotParam: KnotParameterizationEnum) -> NurbCurve3d:...
    def __init__(self, fitPoints: Point3dCollection, fitTolerance: Tolerance) -> NurbCurve3d:...
    def __init__(self, fitPoints: Point3dCollection) -> NurbCurve3d:...
    def __init__(self, fitPoints: Point3dCollection, fitTangents: Vector3dCollection, fitTolerance: Tolerance, periodic: bool) -> NurbCurve3d:...
    def __init__(self, fitPoints: Point3dCollection, fitTangents: Vector3dCollection, periodic: bool) -> NurbCurve3d:...
    def __init__(self, ellipse: EllipticalArc3d) -> NurbCurve3d:...
    def __init__(self, lineSegment: LineSegment3d) -> NurbCurve3d:...
    def AddControlPointAt(self, newKnot: float, point: Point3d, weight: float):...
    def AddFitPointAt(self, index: int, point: Point3d) -> bool:...
    def AddKnot(self, newKnot: float):...
    def DeleteControlPointAt(self, index: int):...
    def DeleteFitPointAt(self, index: int) -> bool:...
    def ElevateDegree(self, plusDegree: int):...
    def GetFitPointAt(self, index: int) -> Point3d:...
    def GetFitTangents(self) -> _n_1_t_2[Vector3d]:...
    def GetParametersOfC1Discontinuity(self, tolerance: Tolerance) -> DoubleCollection:...
    def GetParametersOfC1Discontinuity(self) -> DoubleCollection:...
    def GetParametersOfG1Discontinuity(self, tolerance: Tolerance) -> DoubleCollection:...
    def GetParametersOfG1Discontinuity(self) -> DoubleCollection:...
    def GetWeightAt(self, index: int) -> float:...
    def HardTrimByParams(self, newStartParameter: float, newEndParameter: float):...
    def InsertKnot(self, newKnot: float):...
    def JoinWith(self, curve: NurbCurve3d):...
    def MakeClosed(self):...
    def MakeNonPeriodic(self):...
    def MakeOpen(self):...
    def MakePeriodic(self):...
    def MakeRational(self, weight: float):...
    def PurgeFitData(self) -> bool:...
    def SetEvaluateMode(self, evaluateMode: bool):...
    def SetFitData(self, fitPoints: Point3dCollection, startTangent: Vector3d, endTangent: Vector3d, fitTolerance: Tolerance):...
    def SetFitData(self, fitPoints: Point3dCollection, startTangent: Vector3d, endTangent: Vector3d):...
    def SetFitData(self, fitPoints: Point3dCollection, startTangent: Vector3d, endTangent: Vector3d, knotParam: KnotParameterizationEnum, fitTolerance: Tolerance):...
    def SetFitData(self, fitKnots: KnotCollection, fitPoints: Point3dCollection, startTangent: Vector3d, endTangent: Vector3d, fitTolerance: Tolerance, periodic: bool):...
    def SetFitData(self, fitKnots: KnotCollection, fitPoints: Point3dCollection, startTangent: Vector3d, endTangent: Vector3d, periodic: bool):...
    def SetFitData(self, degree: int, fitPoints: Point3dCollection, fitTolerance: Tolerance):...
    def SetFitData(self, degree: int, fitPoints: Point3dCollection):...
    def SetFitPointAt(self, index: int, point: Point3d) -> bool:...
    def SetFitTangents(self, startTangent: Vector3d, endTangent: Vector3d) -> bool:...
    def SetWeightAt(self, index: int, value: float):...
class NurbCurve3dData(_n_1_t_3):
    @property
    def ControlPoints(self) -> Point3dCollection:"""ControlPoints { get; } -> Point3dCollection"""
    @property
    def Degree(self) -> int:"""Degree { get; } -> int"""
    @property
    def Knots(self) -> KnotCollection:"""Knots { get; } -> KnotCollection"""
    @property
    def Periodic(self) -> bool:"""Periodic { get; } -> bool"""
    @property
    def Rational(self) -> bool:"""Rational { get; } -> bool"""
    @property
    def Weights(self) -> DoubleCollection:"""Weights { get; } -> DoubleCollection"""
    def IsEqualTo(self, a: NurbCurve3dData) -> bool:...
class NurbCurve3dFitData(_n_1_t_3):
    @property
    def Degree(self) -> int:"""Degree { get; } -> int"""
    @property
    def EndTangent(self) -> Vector3d:"""EndTangent { get; } -> Vector3d"""
    @property
    def FitPoints(self) -> Point3dCollection:"""FitPoints { get; } -> Point3dCollection"""
    @property
    def FitTolerance(self) -> Tolerance:"""FitTolerance { get; } -> Tolerance"""
    @property
    def KnotParam(self) -> KnotParameterizationEnum:"""KnotParam { get; } -> KnotParameterizationEnum"""
    @property
    def StartTangent(self) -> Vector3d:"""StartTangent { get; } -> Vector3d"""
    @property
    def TangentsExist(self) -> bool:"""TangentsExist { get; } -> bool"""
    def IsEqualTo(self, a: NurbCurve3dFitData) -> bool:...
class NurbSurface(Surface, _n_1_t_0, _n_1_t_1):
    @property
    def ControlPoints(self) -> Point3dCollection:"""ControlPoints { get; } -> Point3dCollection"""
    @property
    def DegreeInU(self) -> int:"""DegreeInU { get; } -> int"""
    @property
    def DegreeInV(self) -> int:"""DegreeInV { get; } -> int"""
    @property
    def IsPeriodicInU(self) -> bool:"""IsPeriodicInU { get; } -> bool"""
    @property
    def IsPeriodicInV(self) -> bool:"""IsPeriodicInV { get; } -> bool"""
    @property
    def IsRationalInU(self) -> bool:"""IsRationalInU { get; } -> bool"""
    @property
    def IsRationalInV(self) -> bool:"""IsRationalInV { get; } -> bool"""
    @property
    def NumControlPointsInU(self) -> int:"""NumControlPointsInU { get; } -> int"""
    @property
    def NumControlPointsInV(self) -> int:"""NumControlPointsInV { get; } -> int"""
    @property
    def NumKnotsInU(self) -> int:"""NumKnotsInU { get; } -> int"""
    @property
    def NumKnotsInV(self) -> int:"""NumKnotsInV { get; } -> int"""
    @property
    def PeriodicInU(self) -> float:"""PeriodicInU { get; } -> float"""
    @property
    def PeriodicInV(self) -> float:"""PeriodicInV { get; } -> float"""
    @property
    def SingularityInU(self) -> int:"""SingularityInU { get; } -> int"""
    @property
    def SingularityInV(self) -> int:"""SingularityInV { get; } -> int"""
    @property
    def UKnots(self) -> KnotCollection:"""UKnots { get; } -> KnotCollection"""
    @property
    def VKnots(self) -> KnotCollection:"""VKnots { get; } -> KnotCollection"""
    @property
    def Weights(self) -> DoubleCollection:"""Weights { get; } -> DoubleCollection"""
    def __init__(self) -> NurbSurface:...
    def __init__(self, degreeU: int, degreeV: int, propsInU: int, propertiesInV: int, numberControlPointsInU: int, numberControlPointsInV: int, controlPoints: Point3dCollection, weights: DoubleCollection, knotsInU: KnotCollection, knotsInV: KnotCollection, tolerance: Tolerance) -> NurbSurface:...
    def __init__(self, degreeU: int, degreeV: int, propsInU: int, propertiesInV: int, numberControlPointsInU: int, numberControlPointsInV: int, controlPoints: Point3dCollection, weights: DoubleCollection, knotsInU: KnotCollection, knotsInV: KnotCollection) -> NurbSurface:...
    def GetDefinition(self) -> NurbSurfaceDefinition:...
    def Set(self, degreeU: int, degreeV: int, propsInU: int, propsInV: int, numControlPointsInU: int, numControlPointsInV: int, controlPoints: Point3dCollection, weights: DoubleCollection, knotsInU: KnotCollection, knotsInV: KnotCollection, tolerance: Tolerance):...
    def Set(self, degreeU: int, degreeV: int, propsInU: int, propsInV: int, numControlPointsInU: int, numControlPointsInV: int, controlPoints: Point3dCollection, weights: DoubleCollection, knotsInU: KnotCollection, knotsInV: KnotCollection):...
class NurbSurfaceDefinition(_n_1_t_3):
    @property
    def ControlPoints(self) -> Point3dCollection:"""ControlPoints { get; } -> Point3dCollection"""
    @property
    def DegreeInU(self) -> int:"""DegreeInU { get; } -> int"""
    @property
    def DegreeInV(self) -> int:"""DegreeInV { get; } -> int"""
    @property
    def NumberOfControlPointsInU(self) -> int:"""NumberOfControlPointsInU { get; } -> int"""
    @property
    def NumberOfControlPointsInV(self) -> int:"""NumberOfControlPointsInV { get; } -> int"""
    @property
    def PropertiesInU(self) -> int:"""PropertiesInU { get; } -> int"""
    @property
    def PropertiesInV(self) -> int:"""PropertiesInV { get; } -> int"""
    @property
    def UKnots(self) -> KnotCollection:"""UKnots { get; } -> KnotCollection"""
    @property
    def VKnots(self) -> KnotCollection:"""VKnots { get; } -> KnotCollection"""
    @property
    def Weights(self) -> DoubleCollection:"""Weights { get; } -> DoubleCollection"""
    def IsEqualTo(self, a: NurbSurfaceDefinition) -> bool:...
class OffsetCurve2d(Curve2d, _n_1_t_0, _n_1_t_1):
    @property
    def Curve(self) -> Curve2d:"""Curve { get; set; } -> Curve2d"""
    @property
    def OffsetDistance(self) -> float:"""OffsetDistance { get; set; } -> float"""
    @property
    def ParameterDirection(self) -> bool:"""ParameterDirection { get; } -> bool"""
    @property
    def Transformation(self) -> Matrix2d:"""Transformation { get; } -> Matrix2d"""
    def __init__(self, baseCurve: Curve2d, offsetDistance: float) -> OffsetCurve2d:...
class OffsetCurve3d(Curve3d, _n_1_t_0, _n_1_t_1):
    @property
    def Curve(self) -> Curve3d:"""Curve { get; set; } -> Curve3d"""
    @property
    def Normal(self) -> Vector3d:"""Normal { get; set; } -> Vector3d"""
    @property
    def OffsetDistance(self) -> float:"""OffsetDistance { get; set; } -> float"""
    @property
    def ParameterDirection(self) -> bool:"""ParameterDirection { get; } -> bool"""
    @property
    def Transformation(self) -> Matrix3d:"""Transformation { get; } -> Matrix3d"""
    def __init__(self, baseCurve: Curve3d, planeNormal: Vector3d, offsetDistance: float) -> OffsetCurve3d:...
class OffsetCurveExtensionType(_n_1_t_4, _n_1_t_5, _n_1_t_6, _n_1_t_7):
    Chamfer: int
    Extend: int
    Fillet: int
    value__: int
class OffsetSurface(Surface, _n_1_t_0, _n_1_t_1):
    @property
    def ConstructionSurface(self) -> Surface:"""ConstructionSurface { get; } -> Surface"""
    @property
    def IsBoundedPlane(self) -> bool:"""IsBoundedPlane { get; } -> bool"""
    @property
    def IsCone(self) -> bool:"""IsCone { get; } -> bool"""
    @property
    def IsCylinder(self) -> bool:"""IsCylinder { get; } -> bool"""
    @property
    def IsPlane(self) -> bool:"""IsPlane { get; } -> bool"""
    @property
    def IsSphere(self) -> bool:"""IsSphere { get; } -> bool"""
    @property
    def IsTorus(self) -> bool:"""IsTorus { get; } -> bool"""
    @property
    def OffsetDist(self) -> float:"""OffsetDist { get; } -> float"""
    @property
    def OriginalSurface(self) -> Surface:"""OriginalSurface { get; } -> Surface"""
    def __init__(self) -> OffsetSurface:...
    def __init__(self, baseSurface: Surface, offsetDistance: float) -> OffsetSurface:...
    def Set(self, surface: Surface, offsetDistance: float):...
class PlanarEntity(Surface, _n_1_t_0, _n_1_t_1):
    @property
    def Coefficients(self) -> PlanarEquationCoefficients:"""Coefficients { get; } -> PlanarEquationCoefficients"""
    @property
    def Normal(self) -> Vector3d:"""Normal { get; } -> Vector3d"""
    @property
    def PointOnPlane(self) -> Point3d:"""PointOnPlane { get; } -> Point3d"""
    def ClosestPointToLinearEntity(self, line: LinearEntity3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def ClosestPointToLinearEntity(self, line: LinearEntity3d) -> _n_1_t_2[Point3d]:...
    def ClosestPointToPlanarEntity(self, otherPlane: PlanarEntity, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def ClosestPointToPlanarEntity(self, otherPlane: PlanarEntity) -> _n_1_t_2[Point3d]:...
    def GetCoordinateSystem(self) -> CoordinateSystem3d:...
    def IntersectWith(self, linearEntity: LinearEntity3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, linearEntity: LinearEntity3d) -> _n_1_t_2[Point3d]:...
    def IsCoplanarTo(self, otherPlanarEntity: PlanarEntity, tolerance: Tolerance) -> bool:...
    def IsCoplanarTo(self, otherPlanarEntity: PlanarEntity) -> bool:...
    def IsParallelTo(self, linearEntity: LinearEntity3d, tolerance: Tolerance) -> bool:...
    def IsParallelTo(self, linearEntity: LinearEntity3d) -> bool:...
    def IsParallelTo(self, otherPlanarEntity: PlanarEntity, tolerance: Tolerance) -> bool:...
    def IsParallelTo(self, otherPlanarEntity: PlanarEntity) -> bool:...
    def IsPerpendicularTo(self, linearEntity: LinearEntity3d, tolerance: Tolerance) -> bool:...
    def IsPerpendicularTo(self, linearEntity: LinearEntity3d) -> bool:...
    def IsPerpendicularTo(self, linearEntity: PlanarEntity, tolerance: Tolerance) -> bool:...
    def IsPerpendicularTo(self, linearEntity: PlanarEntity) -> bool:...
class PlanarEquationCoefficients(_n_1_t_3):
    @property
    def A(self) -> float:"""A { get; } -> float"""
    @property
    def B(self) -> float:"""B { get; } -> float"""
    @property
    def C(self) -> float:"""C { get; } -> float"""
    @property
    def D(self) -> float:"""D { get; } -> float"""
    def __init__(self, a: float, b: float, c: float, d: float) -> PlanarEquationCoefficients:...
class Plane(PlanarEntity, _n_1_t_0, _n_1_t_1):
    def __init__(self) -> Plane:...
    def __init__(self, source: Plane) -> Plane:...
    def __init__(self, origin: Point3d, normal: Vector3d) -> Plane:...
    def __init__(self, u: Point3d, origin: Point3d, v: Point3d) -> Plane:...
    def __init__(self, origin: Point3d, u: Vector3d, v: Vector3d) -> Plane:...
    def __init__(self, a: float, b: float, c: float, d: float) -> Plane:...
    def GetSignedDistanceTo(self, pointValue: Point3d) -> float:...
    def Set(self, pointValue: Point3d, normal: Vector3d):...
    def Set(self, u: Point3d, origin: Point3d, v: Point3d):...
    def Set(self, a: float, b: float, c: float, d: float):...
    def Set(self, origin: Point3d, u: Vector3d, v: Vector3d):...
class Point2d(_n_1_t_3, _n_1_t_6):
    @property
    def Coordinate(self) -> float:"""Coordinate { get; } -> float"""
    @property
    def Origin(self) -> Point2d:"""Origin { get; } -> Point2d"""
    @property
    def X(self) -> float:"""X { get; } -> float"""
    @property
    def Y(self) -> float:"""Y { get; } -> float"""
    def __init__(self, x: float, y: float) -> Point2d:...
    def __init__(self, xy: _n_1_t_2[float]) -> Point2d:...
    def Add(self, value: Vector2d) -> Point2d:...
    def DivideBy(self, value: float) -> Point2d:...
    def GetAsVector(self) -> Vector2d:...
    def GetDistanceTo(self, point: Point2d) -> float:...
    def GetVectorTo(self, point: Point2d) -> Vector2d:...
    def IsEqualTo(self, a: Point2d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, a: Point2d) -> bool:...
    def Mirror(self, line: Line2d) -> Point2d:...
    def MultiplyBy(self, value: float) -> Point2d:...
    def RotateBy(self, angle: float, origin: Point2d) -> Point2d:...
    def ScaleBy(self, scaleFactor: float, origin: Point2d) -> Point2d:...
    def Subtract(self, value: Vector2d) -> Point2d:...
    def ToArray(self) -> _n_1_t_2[float]:...
    def TransformBy(self, leftSide: Matrix2d) -> Point2d:...
class Point2dCollection(_n_2_t_0, typing.Iterable[Point2d]):
    DefaultSize: int
    @property
    def Capacity(self) -> int:"""Capacity { get; set; } -> int"""
    def __init__(self) -> Point2dCollection:...
    def __init__(self, capacity: int) -> Point2dCollection:...
    def __init__(self, values: _n_1_t_2[Point2d]) -> Point2dCollection:...
    def AddRange(self, range: _n_1_t_2[Point2d]):...
    def ToArray(self) -> _n_1_t_2[Point2d]:...
    def TrimToSize(self):...
class Point2dCollectionEnumerator(_n_2_t_1):
    def __init__(self, col: Point2dCollection) -> Point2dCollectionEnumerator:...
class Point3d(_n_1_t_3, _n_1_t_6):
    @property
    def Coordinate(self) -> float:"""Coordinate { get; } -> float"""
    @property
    def Origin(self) -> Point3d:"""Origin { get; } -> Point3d"""
    @property
    def X(self) -> float:"""X { get; } -> float"""
    @property
    def Y(self) -> float:"""Y { get; } -> float"""
    @property
    def Z(self) -> float:"""Z { get; } -> float"""
    def __init__(self, x: float, y: float, z: float) -> Point3d:...
    def __init__(self, xyz: _n_1_t_2[float]) -> Point3d:...
    def __init__(self, plane: PlanarEntity, point: Point2d) -> Point3d:...
    def Add(self, value: Vector3d) -> Point3d:...
    def Convert2d(self, plane: PlanarEntity) -> Point2d:...
    def DistanceTo(self, point: Point3d) -> float:...
    def DivideBy(self, value: float) -> Point3d:...
    def GetAsVector(self) -> Vector3d:...
    def GetVectorTo(self, point: Point3d) -> Vector3d:...
    def IsEqualTo(self, point: Point3d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, point: Point3d) -> bool:...
    def Mirror(self, plane: Plane) -> Point3d:...
    def MultiplyBy(self, value: float) -> Point3d:...
    def OrthoProject(self, plane: Plane) -> Point3d:...
    def Project(self, plane: Plane, vector: Vector3d) -> Point3d:...
    def RotateBy(self, angle: float, vector: Vector3d, centerPoint: Point3d) -> Point3d:...
    def ScaleBy(self, scaleFactor: float, centerPoint: Point3d) -> Point3d:...
    def Subtract(self, value: Vector3d) -> Point3d:...
    def ToArray(self) -> _n_1_t_2[float]:...
    def TransformBy(self, leftSide: Matrix3d) -> Point3d:...
class Point3dCollection(_n_0_t_0, _n_1_t_0, _n_2_t_0, typing.Iterable[Point3d]):
    def __init__(self) -> Point3dCollection:...
    def __init__(self, values: _n_1_t_2[Point3d]) -> Point3dCollection:...
class PointEntity2d(Entity2d, _n_1_t_0, _n_1_t_1):
    @property
    def Point(self) -> Point2d:"""Point { get; } -> Point2d"""
class PointEntity3d(Entity3d, _n_1_t_0, _n_1_t_1):
    def GetPoint(self) -> Point3d:...
class PointOnCurve2d(PointEntity2d, _n_1_t_0, _n_1_t_1):
    @property
    def Curve(self) -> Curve2d:"""Curve { get; set; } -> Curve2d"""
    @property
    def Parameter(self) -> float:"""Parameter { get; set; } -> float"""
    def __init__(self) -> PointOnCurve2d:...
    def __init__(self, curve: Curve2d) -> PointOnCurve2d:...
    def __init__(self, curve: Curve2d, parameter: float) -> PointOnCurve2d:...
    def GetDerivative(self, order: int) -> Vector2d:...
    def GetDerivative(self, order: int, parameter: float) -> Vector2d:...
    def GetDerivative(self, order: int, curve: Curve2d, parameter: float) -> Vector2d:...
    def GetPointAtParameter(self, parameter: float) -> Point2d:...
    def GetPointOnCurve(self, curve: Curve2d, parameter: float) -> Point2d:...
class PointOnCurve3d(PointEntity3d, _n_1_t_0, _n_1_t_1):
    @property
    def Curve(self) -> Curve3d:"""Curve { get; set; } -> Curve3d"""
    @property
    def Parameter(self) -> float:"""Parameter { get; set; } -> float"""
    @property
    def Point(self) -> Point3d:"""Point { get; } -> Point3d"""
    def __init__(self) -> PointOnCurve3d:...
    def __init__(self, curve: Curve3d, parameter: float) -> PointOnCurve3d:...
    def GetCurvature(self) -> float:...
    def GetCurvature(self, parameter: float) -> float:...
    def GetDerivative(self, order: int) -> Vector3d:...
    def GetDerivative(self, order: int, parameter: float) -> Vector3d:...
    @staticmethod
    def GetDerivative(order: int, curve: Curve3d, parameter: float) -> Vector3d:...
    def GetPointAtParameter(self, parameter: float) -> Point3d:...
    @staticmethod
    def GetPointOnCurve(curve: Curve3d, parameter: float) -> Point3d:...
    def IsSingular(self, tolerance: Tolerance) -> bool:...
    def IsSingular(self) -> bool:...
class PointOnSurface(PointEntity3d, _n_1_t_0, _n_1_t_1):
    @property
    def Parameter(self) -> Point2d:"""Parameter { get; set; } -> Point2d"""
    @property
    def Surface(self) -> Surface:"""Surface { get; set; } -> Surface"""
    def __init__(self) -> PointOnSurface:...
    def __init__(self, surf: Surface, point: Point2d) -> PointOnSurface:...
    def GetInverseTangentVector(self, vector: Vector3d) -> Vector2d:...
    def GetInverseTangentVector(self, vector: Vector3d, point: Point2d) -> Vector2d:...
    @staticmethod
    def GetInverseTangentVector(vector: Vector3d, surf: Surface, point: Point2d) -> Vector2d:...
    def GetMixedPartial(self) -> Vector3d:...
    def GetMixedPartial(self, point: Point2d) -> Vector3d:...
    @staticmethod
    def GetMixedPartial(surf: Surface, point: Point2d) -> Vector3d:...
    def GetNormal(self) -> Vector3d:...
    def GetNormal(self, point: Point2d) -> Vector3d:...
    @staticmethod
    def GetNormal(surf: Surface, point: Point2d) -> Vector3d:...
    def GetTangentVector(self, vector: Vector2d) -> Vector3d:...
    def GetTangentVector(self, vector: Vector2d, point: Point2d) -> Vector3d:...
    @staticmethod
    def GetTangentVector(vector: Vector2d, vectorSurface: Surface, pointer: Point2d) -> Vector3d:...
    def GetUDerivative(self, order: int) -> Vector3d:...
    def GetUDerivative(self, order: int, point: Point2d) -> Vector3d:...
    @staticmethod
    def GetUDerivative(order: int, surface: Surface, point: Point2d) -> Vector3d:...
    def GetVDerivative(self, order: int) -> Vector3d:...
    def GetVDerivative(self, order: int, point: Point2d) -> Vector3d:...
    @staticmethod
    def GetVDerivative(order: int, surface: Surface, point: Point2d) -> Vector3d:...
class PolylineCurve2d(SplineEntity2d, _n_1_t_0, _n_1_t_1):
    @property
    def NumberOfFitPoints(self) -> int:"""NumberOfFitPoints { get; } -> int"""
    def __init__(self) -> PolylineCurve2d:...
    def __init__(self, points: Point2dCollection) -> PolylineCurve2d:...
    def __init__(self, knots: KnotCollection, controlPoints: Point2dCollection) -> PolylineCurve2d:...
    def __init__(self, curve: Curve2d, epsilon: float) -> PolylineCurve2d:...
    def FitPointAt(self, i: int) -> Point2d:...
    def SetFitPointAt(self, i: int, point: Point2d):...
class PolylineCurve3d(SplineEntity3d, _n_1_t_0, _n_1_t_1):
    @property
    def NumberOfFitPoints(self) -> int:"""NumberOfFitPoints { get; } -> int"""
    def __init__(self) -> PolylineCurve3d:...
    def __init__(self, points: Point3dCollection) -> PolylineCurve3d:...
    def __init__(self, knots: KnotCollection, controlPoints: Point3dCollection) -> PolylineCurve3d:...
    def __init__(self, curve: Curve3d, epsilon: float) -> PolylineCurve3d:...
    def FitPointAt(self, i: int) -> Point3d:...
    def SetFitPointAt(self, i: int, point: Point3d):...
class Position2d(PointEntity2d, _n_1_t_0, _n_1_t_1):
    def __init__(self) -> Position2d:...
    def __init__(self, point: Point2d) -> Position2d:...
    def __init__(self, x: float, y: float) -> Position2d:...
    def Set(self, point: Point2d):...
    def Set(self, x: float, y: float):...
class Position3d(PointEntity3d, _n_1_t_0, _n_1_t_1):
    def __init__(self) -> Position3d:...
    def __init__(self, point: Point3d) -> Position3d:...
    def __init__(self, x: float, y: float, z: float) -> Position3d:...
    def Set(self, point: Point3d):...
    def Set(self, x: float, y: float, z: float):...
class Ray2d(LinearEntity2d, _n_1_t_0, _n_1_t_1):
    def __init__(self) -> Ray2d:...
    def __init__(self, point: Point2d, vector: Vector2d) -> Ray2d:...
    def __init__(self, point1: Point2d, point2: Point2d) -> Ray2d:...
    def Set(self, point: Point2d, vector: Vector2d):...
    def Set(self, point1: Point2d, point2: Point2d):...
class Ray3d(LinearEntity3d, _n_1_t_0, _n_1_t_1):
    def __init__(self) -> Ray3d:...
    def __init__(self, point: Point3d, vector: Vector3d) -> Ray3d:...
    def __init__(self, point1: Point3d, point2: Point3d) -> Ray3d:...
    def Set(self, point: Point3d, vector: Vector3d):...
    def Set(self, point1: Point3d, point2: Point3d):...
class Scale2d(_n_1_t_3):
    @property
    def Coordinate(self) -> float:"""Coordinate { get; } -> float"""
    @property
    def X(self) -> float:"""X { get; } -> float"""
    @property
    def Y(self) -> float:"""Y { get; } -> float"""
    def __init__(self, factor: float) -> Scale2d:...
    def __init__(self, x: float, y: float) -> Scale2d:...
    def __init__(self, xy: _n_1_t_2[float]) -> Scale2d:...
    @staticmethod
    def ExtractScale(mat: Matrix2d) -> Scale2d:...
    def GetMatrix(self) -> Matrix2d:...
    def Inverse(self) -> Scale2d:...
    def IsEqualTo(self, a: Scale2d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, a: Scale2d) -> bool:...
    def IsProportional(self, tolerance: Tolerance) -> bool:...
    def IsProportional(self) -> bool:...
    def MultiplyBy(self, factor: float) -> Scale2d:...
    def PostMultiplyBy(self, rightSide: Scale2d) -> Scale2d:...
    def PreMultiplyBy(self, leftSide: Scale2d) -> Scale2d:...
    @staticmethod
    def RemoveScale(mat: Matrix2d) -> Scale2d:...
    def ToArray(self) -> _n_1_t_2[float]:...
class Scale3d(_n_1_t_3):
    @property
    def Coordinate(self) -> float:"""Coordinate { get; } -> float"""
    @property
    def X(self) -> float:"""X { get; } -> float"""
    @property
    def Y(self) -> float:"""Y { get; } -> float"""
    @property
    def Z(self) -> float:"""Z { get; } -> float"""
    def __init__(self, factor: float) -> Scale3d:...
    def __init__(self, x: float, y: float, z: float) -> Scale3d:...
    def __init__(self, xyz: _n_1_t_2[float]) -> Scale3d:...
    @staticmethod
    def ExtractScale(mat: Matrix3d) -> Scale3d:...
    def GetMatrix(self) -> Matrix3d:...
    def Inverse(self) -> Scale3d:...
    def IsEqualTo(self, scaleVector: Scale3d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, scaleVector: Scale3d) -> bool:...
    def IsProportional(self, tolerance: Tolerance) -> bool:...
    def IsProportional(self) -> bool:...
    def MultiplyBy(self, s: float) -> Scale3d:...
    def PostMultiplyBy(self, rightSide: Scale3d) -> Scale3d:...
    def PreMultiplyBy(self, leftSide: Scale3d) -> Scale3d:...
    @staticmethod
    def RemoveScale(mat: Matrix3d) -> Scale3d:...
    def ToArray(self) -> _n_1_t_2[float]:...
class Sphere(Surface, _n_1_t_0, _n_1_t_1):
    @property
    def Center(self) -> Point3d:"""Center { get; } -> Point3d"""
    @property
    def IsOuterNormal(self) -> bool:"""IsOuterNormal { get; } -> bool"""
    @property
    def NorthAxis(self) -> Vector3d:"""NorthAxis { get; } -> Vector3d"""
    @property
    def NorthPole(self) -> Point3d:"""NorthPole { get; } -> Point3d"""
    @property
    def Radius(self) -> float:"""Radius { get; set; } -> float"""
    @property
    def ReferenceAxis(self) -> Vector3d:"""ReferenceAxis { get; } -> Vector3d"""
    @property
    def SouthPole(self) -> Point3d:"""SouthPole { get; } -> Point3d"""
    def __init__(self) -> Sphere:...
    def __init__(self, radius: float, center: Point3d) -> Sphere:...
    def __init__(self, radius: float, center: Point3d, northAxis: Vector3d, referenceAxis: Vector3d, startAngleU: float, endAngleU: float, startAngleV: float, endAngleV: float) -> Sphere:...
    def GetAnglesInU(self) -> _n_1_t_2[float]:...
    def GetAnglesInV(self) -> _n_1_t_2[float]:...
    def IntersectWith(self, linearEntity: LinearEntity3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, linearEntity: LinearEntity3d) -> _n_1_t_2[Point3d]:...
    def IsClosed(self, tolerance: Tolerance) -> bool:...
    def IsClosed(self) -> bool:...
    def Set(self, radius: float, center: Point3d):...
    def Set(self, radius: float, center: Point3d, northAxis: Vector3d, referenceAxis: Vector3d, startAngleU: float, endAngleU: float, startAngleV: float, endAngleV: float):...
    def SetAnglesInU(self, startAngle: float, endAngle: float):...
    def SetAnglesInV(self, startAngle: float, endAngle: float):...
class SplineEntity2d(Curve2d, _n_1_t_0, _n_1_t_1):
    @property
    def Degree(self) -> int:"""Degree { get; } -> int"""
    @property
    def EndParameter(self) -> float:"""EndParameter { get; } -> float"""
    @property
    def HasFitData(self) -> bool:"""HasFitData { get; } -> bool"""
    @property
    def IsRational(self) -> bool:"""IsRational { get; } -> bool"""
    @property
    def Knots(self) -> KnotCollection:"""Knots { get; } -> KnotCollection"""
    @property
    def NumControlPoints(self) -> int:"""NumControlPoints { get; } -> int"""
    @property
    def NumKnots(self) -> int:"""NumKnots { get; } -> int"""
    @property
    def Order(self) -> int:"""Order { get; } -> int"""
    @property
    def StartParameter(self) -> float:"""StartParameter { get; } -> float"""
    def GetContinuityAtKnot(self, index: int, tolerance: Tolerance) -> int:...
    def GetContinuityAtKnot(self, index: int) -> int:...
    def GetControlPointAt(self, index: int) -> Point2d:...
    def GetKnotAt(self, index: int) -> float:...
    def SetControlPointAt(self, index: int, point: Point2d):...
    def SetKnotAt(self, index: int, value: float):...
class SplineEntity3d(Curve3d, _n_1_t_0, _n_1_t_1):
    @property
    def Degree(self) -> int:"""Degree { get; } -> int"""
    @property
    def EndParameter(self) -> float:"""EndParameter { get; } -> float"""
    @property
    def HasFitData(self) -> bool:"""HasFitData { get; } -> bool"""
    @property
    def IsRational(self) -> bool:"""IsRational { get; } -> bool"""
    @property
    def Knots(self) -> KnotCollection:"""Knots { get; } -> KnotCollection"""
    @property
    def NumberOfControlPoints(self) -> int:"""NumberOfControlPoints { get; } -> int"""
    @property
    def NumberOfKnots(self) -> int:"""NumberOfKnots { get; } -> int"""
    @property
    def Order(self) -> int:"""Order { get; } -> int"""
    @property
    def StartParameter(self) -> float:"""StartParameter { get; } -> float"""
    def ControlPointAt(self, i: int) -> Point3d:...
    def GetContinuityAtKnot(self, i: int, tolerance: Tolerance) -> int:...
    def GetContinuityAtKnot(self, i: int) -> int:...
    def KnotAt(self, i: int) -> float:...
    def SetControlPointAt(self, i: int, point: Point3d):...
    def SetKnotAt(self, i: int, value: float):...
class Surface(Entity3d, _n_1_t_0, _n_1_t_1):
    @property
    def IsNormalReversed(self) -> bool:"""IsNormalReversed { get; } -> bool"""
    @property
    def ReverseNormal(self) -> Surface:"""ReverseNormal { get; } -> Surface"""
    def ClosestPointTo(self, point: Point3d, tolerance: Tolerance) -> Point3d:...
    def ClosestPointTo(self, point: Point3d) -> Point3d:...
    def DistanceTo(self, point: Point3d, tolerance: Tolerance) -> float:...
    def DistanceTo(self, point: Point3d) -> float:...
    def EvaluatePoint(self, parameter: Point2d) -> Point3d:...
    def EvaluatePoint(self, parameter: Point2d, derivOrder: int, derivatives: Vector3dCollection) -> Point3d:...
    def EvaluatePoint(self, parameter: Point2d, derivOrder: int, derivatives: Vector3dCollection, normal: Vector3d) -> Point3d:...
    def GetClosestPointTo(self, point: Point3d, tolerance: Tolerance) -> PointOnSurface:...
    def GetClosestPointTo(self, point: Point3d) -> PointOnSurface:...
    def GetEnvelope(self) -> _n_1_t_2[Interval]:...
    def IsClosedInU(self, tolerance: Tolerance) -> bool:...
    def IsClosedInU(self) -> bool:...
    def IsClosedInV(self, tolerance: Tolerance) -> bool:...
    def IsClosedInV(self) -> bool:...
    def ParameterOf(self, point: Point3d, tolerance: Tolerance) -> Point2d:...
    def ParameterOf(self, point: Point3d) -> Point2d:...
class SurfaceSurfaceIntersector(Entity3d, _n_1_t_0, _n_1_t_1):
    @property
    def NumResults(self) -> int:"""NumResults { get; } -> int"""
    @property
    def Surface1(self) -> Surface:"""Surface1 { get; } -> Surface"""
    @property
    def Surface2(self) -> Surface:"""Surface2 { get; } -> Surface"""
    @property
    def Tolerance(self) -> Tolerance:"""Tolerance { get; } -> Tolerance"""
    def __init__(self) -> SurfaceSurfaceIntersector:...
    def __init__(self, surface2: Surface, surface1: Surface, tolerance: Tolerance) -> SurfaceSurfaceIntersector:...
    def __init__(self, surface2: Surface, surface1: Surface) -> SurfaceSurfaceIntersector:...
    def GetDimension(self, number: int) -> int:...
    def GetIntersectionConfigurations(self, number: int) -> SurfaceSurfaceIntersectorConfigurations:...
    def GetIntersectPointParameters(self, number: int) -> _n_1_t_2[Point2d]:...
    def IntersectCurve(self, number: int, isExternal: bool) -> Curve3d:...
    def IntersectParameterCurve(self, number: int, isExternal: bool, isFirst: bool) -> Curve2d:...
    def IntersectPoint(self, number: int) -> Point3d:...
    def Set(self, surface1: Surface, surface2: Surface, tolerance: Tolerance):...
    def Set(self, surface1: Surface, surface2: Surface):...
class SurfaceSurfaceIntersectorConfiguration(_n_1_t_4, _n_1_t_5, _n_1_t_6, _n_1_t_7):
    Coincident: int
    In: int
    Out: int
    Unknown: int
    value__: int
class SurfaceSurfaceIntersectorConfigurations(_n_1_t_3):
    @property
    def Dimension(self) -> int:"""Dimension { get; } -> int"""
    @property
    def IntersectionType(self) -> SurfaceSurfaceIntersectorType:"""IntersectionType { get; } -> SurfaceSurfaceIntersectorType"""
    @property
    def Surface1Left(self) -> SurfaceSurfaceIntersectorConfiguration:"""Surface1Left { get; } -> SurfaceSurfaceIntersectorConfiguration"""
    @property
    def Surface1Right(self) -> SurfaceSurfaceIntersectorConfiguration:"""Surface1Right { get; } -> SurfaceSurfaceIntersectorConfiguration"""
    @property
    def Surface2Left(self) -> SurfaceSurfaceIntersectorConfiguration:"""Surface2Left { get; } -> SurfaceSurfaceIntersectorConfiguration"""
    @property
    def Surface2Right(self) -> SurfaceSurfaceIntersectorConfiguration:"""Surface2Right { get; } -> SurfaceSurfaceIntersectorConfiguration"""
    def IsEqualTo(self, a: SurfaceSurfaceIntersectorConfigurations) -> bool:...
class SurfaceSurfaceIntersectorType(_n_1_t_4, _n_1_t_5, _n_1_t_6, _n_1_t_7):
    AntiTangent: int
    Tangent: int
    Transverse: int
    value__: int
class Tolerance(_n_1_t_3):
    @property
    def EqualPoint(self) -> float:"""EqualPoint { get; } -> float"""
    @property
    def EqualVector(self) -> float:"""EqualVector { get; } -> float"""
    @property
    def Global(self) -> Tolerance:"""Global { get; set; } -> Tolerance"""
    def __init__(self, equalVector: float, equalPoint: float) -> Tolerance:...
class Torus(Surface, _n_1_t_0, _n_1_t_1):
    @property
    def AxisOfSymmetry(self) -> Vector3d:"""AxisOfSymmetry { get; } -> Vector3d"""
    @property
    def Center(self) -> Point3d:"""Center { get; } -> Point3d"""
    @property
    def IsApple(self) -> bool:"""IsApple { get; } -> bool"""
    @property
    def IsDegenerate(self) -> bool:"""IsDegenerate { get; } -> bool"""
    @property
    def IsDoughnut(self) -> bool:"""IsDoughnut { get; } -> bool"""
    @property
    def IsHollow(self) -> bool:"""IsHollow { get; } -> bool"""
    @property
    def IsLemon(self) -> bool:"""IsLemon { get; } -> bool"""
    @property
    def IsOuterNormal(self) -> bool:"""IsOuterNormal { get; } -> bool"""
    @property
    def IsVortex(self) -> bool:"""IsVortex { get; } -> bool"""
    @property
    def MajorRadius(self) -> float:"""MajorRadius { get; set; } -> float"""
    @property
    def MinorRadius(self) -> float:"""MinorRadius { get; set; } -> float"""
    @property
    def ReferenceAxis(self) -> Vector3d:"""ReferenceAxis { get; } -> Vector3d"""
    def __init__(self) -> Torus:...
    def __init__(self, majorRadius: float, minorRadius: float, origin: Point3d, axisOfSymmetry: Vector3d) -> Torus:...
    def __init__(self, majorRadius: float, minorRadius: float, origin: Point3d, axisOfSymmetry: Vector3d, referenceAxis: Vector3d, startAngleU: float, endAngleU: float, startAngleV: float, endAngleV: float) -> Torus:...
    def GetAnglesInU(self) -> _n_1_t_2[float]:...
    def GetAnglesInV(self) -> _n_1_t_2[float]:...
    def IntersectWith(self, linearEntity: LinearEntity3d, tolerance: Tolerance) -> _n_1_t_2[Point3d]:...
    def IntersectWith(self, linearEntity: LinearEntity3d) -> _n_1_t_2[Point3d]:...
    def Set(self, majorRadius: float, minorRadius: float, origin: Point3d, axisOfSymmetry: Vector3d):...
    def Set(self, majorRadius: float, minorRadius: float, origin: Point3d, axisOfSymmetry: Vector3d, refAxis: Vector3d, startAngleU: float, endAngleU: float, startAngleV: float, endAngleV: float):...
    def SetAnglesInU(self, startAngle: float, endAngle: float):...
    def SetAnglesInV(self, startAngle: float, endAngle: float):...
class UInt32Collection(_n_2_t_0, typing.Iterable[_n_1_t_9]):
    DefaultSize: int
    @property
    def Capacity(self) -> int:"""Capacity { get; set; } -> int"""
    def __init__(self) -> UInt32Collection:...
    def __init__(self, capacity: int) -> UInt32Collection:...
    def __init__(self, values: _n_1_t_2[_n_1_t_9]) -> UInt32Collection:...
    def AddRange(self, range: _n_1_t_2[_n_1_t_9]):...
    def ToArray(self) -> _n_1_t_2[_n_1_t_9]:...
    def TrimToSize(self):...
class UInt32CollectionEnumerator(_n_2_t_1):
    def __init__(self, col: UInt32Collection) -> UInt32CollectionEnumerator:...
class Vector2d(_n_1_t_3, _n_1_t_6):
    @property
    def Angle(self) -> float:"""Angle { get; } -> float"""
    @property
    def Coordinate(self) -> float:"""Coordinate { get; } -> float"""
    @property
    def Length(self) -> float:"""Length { get; } -> float"""
    @property
    def LengthSqrd(self) -> float:"""LengthSqrd { get; } -> float"""
    @property
    def X(self) -> float:"""X { get; } -> float"""
    @property
    def XAxis(self) -> Vector2d:"""XAxis { get; } -> Vector2d"""
    @property
    def Y(self) -> float:"""Y { get; } -> float"""
    @property
    def YAxis(self) -> Vector2d:"""YAxis { get; } -> Vector2d"""
    def __init__(self, x: float, y: float) -> Vector2d:...
    def __init__(self, A_0: _n_1_t_2[float]) -> Vector2d:...
    def Add(self, v: Vector2d) -> Vector2d:...
    def DivideBy(self, value: float) -> Vector2d:...
    def DotProduct(self, v: Vector2d) -> float:...
    def GetAngleTo(self, vector: Vector2d) -> float:...
    def GetNormal(self, tolerance: Tolerance) -> Vector2d:...
    def GetNormal(self) -> Vector2d:...
    def GetPerpendicularVector(self) -> Vector2d:...
    def IsCodirectionalTo(self, vector: Vector2d, tolerance: Tolerance) -> bool:...
    def IsCodirectionalTo(self, vector: Vector2d) -> bool:...
    def IsEqualTo(self, vector: Vector2d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, vector: Vector2d) -> bool:...
    def IsParallelTo(self, vector: Vector2d, tolerance: Tolerance) -> bool:...
    def IsParallelTo(self, vector: Vector2d) -> bool:...
    def IsPerpendicularTo(self, vector: Vector2d, tolerance: Tolerance) -> bool:...
    def IsPerpendicularTo(self, vector: Vector2d) -> bool:...
    def IsUnitLength(self, tolerance: Tolerance) -> bool:...
    def IsUnitLength(self) -> bool:...
    def IsZeroLength(self, tolerance: Tolerance) -> bool:...
    def IsZeroLength(self) -> bool:...
    def Mirror(self, line: Vector2d) -> Vector2d:...
    def MultiplyBy(self, value: float) -> Vector2d:...
    def Negate(self) -> Vector2d:...
    def RotateBy(self, angle: float) -> Vector2d:...
    def Subtract(self, v: Vector2d) -> Vector2d:...
    def ToArray(self) -> _n_1_t_2[float]:...
    def TransformBy(self, leftSide: Matrix2d) -> Vector2d:...
class Vector2dCollection(_n_2_t_0, typing.Iterable[Vector2d]):
    DefaultSize: int
    @property
    def Capacity(self) -> int:"""Capacity { get; set; } -> int"""
    def __init__(self) -> Vector2dCollection:...
    def __init__(self, capacity: int) -> Vector2dCollection:...
    def __init__(self, values: _n_1_t_2[Vector2d]) -> Vector2dCollection:...
    def AddRange(self, range: _n_1_t_2[Vector2d]):...
    def ToArray(self) -> _n_1_t_2[Vector2d]:...
    def TrimToSize(self):...
class Vector2dCollectionEnumerator(_n_2_t_1):
    def __init__(self, col: Vector2dCollection) -> Vector2dCollectionEnumerator:...
class Vector3d(_n_1_t_3, _n_1_t_6):
    @property
    def Coordinate(self) -> float:"""Coordinate { get; } -> float"""
    @property
    def LargestElement(self) -> int:"""LargestElement { get; } -> int"""
    @property
    def Length(self) -> float:"""Length { get; } -> float"""
    @property
    def LengthSqrd(self) -> float:"""LengthSqrd { get; } -> float"""
    @property
    def X(self) -> float:"""X { get; } -> float"""
    @property
    def XAxis(self) -> Vector3d:"""XAxis { get; } -> Vector3d"""
    @property
    def Y(self) -> float:"""Y { get; } -> float"""
    @property
    def YAxis(self) -> Vector3d:"""YAxis { get; } -> Vector3d"""
    @property
    def Z(self) -> float:"""Z { get; } -> float"""
    @property
    def ZAxis(self) -> Vector3d:"""ZAxis { get; } -> Vector3d"""
    def __init__(self, x: float, y: float, z: float) -> Vector3d:...
    def __init__(self, xyz: _n_1_t_2[float]) -> Vector3d:...
    def __init__(self, plane: PlanarEntity, vector2d: Vector2d) -> Vector3d:...
    def Add(self, v: Vector3d) -> Vector3d:...
    def AngleOnPlane(self, plane: PlanarEntity) -> float:...
    def Convert2d(self, plane: PlanarEntity) -> Vector2d:...
    def CrossProduct(self, vector: Vector3d) -> Vector3d:...
    def DivideBy(self, value: float) -> Vector3d:...
    def DotProduct(self, v: Vector3d) -> float:...
    def GetAngleTo(self, vector: Vector3d) -> float:...
    def GetAngleTo(self, vector: Vector3d, referenceVector: Vector3d) -> float:...
    def GetNormal(self, tolerance: Tolerance) -> Vector3d:...
    def GetNormal(self) -> Vector3d:...
    def GetPerpendicularVector(self) -> Vector3d:...
    def IsCodirectionalTo(self, vector: Vector3d, tolerance: Tolerance) -> bool:...
    def IsCodirectionalTo(self, vector: Vector3d) -> bool:...
    def IsEqualTo(self, vector: Vector3d, tolerance: Tolerance) -> bool:...
    def IsEqualTo(self, vector: Vector3d) -> bool:...
    def IsParallelTo(self, vector: Vector3d, tolerance: Tolerance) -> bool:...
    def IsParallelTo(self, vector: Vector3d) -> bool:...
    def IsPerpendicularTo(self, vector: Vector3d, tolerance: Tolerance) -> bool:...
    def IsPerpendicularTo(self, vector: Vector3d) -> bool:...
    def IsUnitLength(self, tolerance: Tolerance) -> bool:...
    def IsUnitLength(self) -> bool:...
    def IsZeroLength(self, tolerance: Tolerance) -> bool:...
    def IsZeroLength(self) -> bool:...
    def Mirror(self, normalToPlane: Vector3d) -> Vector3d:...
    def MultiplyBy(self, value: float) -> Vector3d:...
    def Negate(self) -> Vector3d:...
    def OrthoProjectTo(self, planeNormal: Vector3d) -> Vector3d:...
    def ProjectTo(self, planeNormal: Vector3d, projectDirection: Vector3d) -> Vector3d:...
    def RotateBy(self, angle: float, axis: Vector3d) -> Vector3d:...
    def Subtract(self, v: Vector3d) -> Vector3d:...
    def ToArray(self) -> _n_1_t_2[float]:...
    def TransformBy(self, leftSide: Matrix3d) -> Vector3d:...
class Vector3dCollection(_n_2_t_0, typing.Iterable[Vector3d]):
    DefaultSize: int
    @property
    def Capacity(self) -> int:"""Capacity { get; set; } -> int"""
    def __init__(self) -> Vector3dCollection:...
    def __init__(self, capacity: int) -> Vector3dCollection:...
    def __init__(self, values: _n_1_t_2[Vector3d]) -> Vector3dCollection:...
    def AddRange(self, range: _n_1_t_2[Vector3d]):...
    def ToArray(self) -> _n_1_t_2[Vector3d]:...
    def TrimToSize(self):...
class Vector3dCollectionEnumerator(_n_2_t_1):
    def __init__(self, col: Vector3dCollection) -> Vector3dCollectionEnumerator:...
